zoukankan      html  css  js  c++  java
  • JAVA基础总结(三)

    乐橙谷JAVA总结-访问控制,方法定义与调用,重载,方法重写

    5.1 访问控制

    5.1.1 package包的使用

    *使用package 定义包:package只能放在代码的第一行
    *import:导包,可以到入包下所有import java.io.*;可以导入具体的一个类import java.io.Reader;
    *包的作用:1,分类;2,隐藏(封装的作用),3,便于管理
    *java本身提供了一些包:java.lang(核心类,此包如需要引入),java.util(集合框架以及其他常用类),java.io(输入输出),java.awt,javax.swing(图形)

    5.1.2 继承(简单概念):使用extends关键字表示继承

    *子类继承父类的所有属性
    *子类继承父类除private(非同包的时候也除默认的方法)外的所有方法
    *子类对象拥有super引用,表示父类的引用,可以使用super明确的调用父类的方法或属性

    5.1.3四个访问级别,从大到小:public ,protected,默认,private

    *注意访问级别是针对类来讲的,不是针对对象!!!!!!!
    *注意类的访问修饰符只能使用public 或默认
    *学了访问控制后:类的属性都写private,通过set/get方法对属性进行赋值,取值

    5.2 重载与重写

    1.判断是否是重载,或者是否是重写,如果不是重写或者重载,就不受重写重载规则的约束

    5.2.1重载:一个类当中,有方法名相同,参数不同的方法,称为重载   *不能只改返回值:不能根据方法的返回进行重载

    5.2.2重写:在继承当中,子类将父类的方法重新写了一遍:重写的方法与被重写的方法拥有相同的方法签名(返回值类型,方法名,参数列数)

    ①.重写的方法能够改变被重写的方法的访问级别,注意只能是相等或者扩大

    ②.重写的方法不能抛出比被重写方法更多的异常,注意只能缩小异常的范围

    ③.如果被重写的方法是具体的,重写之后不能改为abstract

    5.3 类与对象的生命周期

    5.3.1类与对象的初始化过程:

    *静态属性先初始化,而且仅仅初始化一次
    *首先给静态属性进行声明,并赋默认值,然后代码从上往下执行静态代码块或静态赋值
    *每创建一个对象,就先实例化成员属性:首先给成员属性声明,赋默认值,然后.执行赋值语句
    *成员属性初始化后再调用构造方法

    5.3.2垃圾回收机制

    *java虚拟使用垃圾回收机制进行垃圾回收
    *垃圾回收本身是一个线程(当内存不够用的时候,一般会进行垃圾回收)
    *垃圾回收不能通过程序来调用,仅仅能够通过System.gc()建议虚拟机进行垃圾回收
    *当进行垃圾回收时,会调用对象的finalize方法

    **5.4 单例模式:**一个类仅仅能有一个实例(设计模式的一种)

    *构造方法必须为私有的
    *提供静态的方法来获得对象
    *提供静态的属性,该属性是该类的一个对象

    乐橙谷JAVA总结-继承,抽象类,接口

    6.1 继承:

    6.1.1 继承的语法:使用extends关键字表示继承

    *子类继承父类所有的属性
    *私有方法不能被继承
    *super关键字表示父类的引用,可以用super来调用父类的方法或属性

    6.2.2 继承中的构造方法:了解下面的知识点以及实例化对象时代码的执行过程

    *子类的构造过程必须调用其基类的构造方法
    *子类可以在自己的构造过程中使用super (arg_list)来调用基类的构造方法
    *如果调用super,必须写在子类构造方法的第一行
    *可以使用this(argument_list)调用本类的另外的构造方法
    *如果子类的构造方法中没有显示的调用基类的构造方法,系统默认调用基类无参数的构造方法
    *如果子类构造方法中既没有显式的调用基类构造方法,基类中又没有无参数的构造方法,编译出错

    6.3.3 对象的转型

    *一个基类的引用类型变量可以指向其子类的对象
    *一个基类的引用不可以访问其子类对象新增的成员
    *可以使用instanceof 关键字来判断一个引用类型变量所指向的对象是否是制定的类型
    *子类的对象可以当作基类的对象来使用称作向上转型,反之称为向下转型
    *子类可以当成父类来使用,无需显示转换
    *父类引用转换为子类引用要进行强制转换
    *注意:不兼容的类型之间不能进行相互转换(只有具有直接或间接父子关系的类才是兼容的类型),否则编译时会报错
    *注意:兼容类型之间的转换要看对象的实际类型,因此向下转化时最好先用instanceof来判断是否是某个类型,在转换,以免报报错

    6.4.4 多态:也称运行时绑定:一般是指父类的引用指向子类对象,通过父类的引用调用被子类重写的方法,这个时候执行的是子类的方法

    *一句话总结多态:对象实际是什么类型就调用什么类型的方法
    *多态成立的条件:1,要有继承。2,要有重写。3,必须有父类引用指向子类对象。

    6.2 抽象类:用abstract修饰的类称为抽象类(抽象的本意是不具体)

    1.抽象方法不能有方法体
    2.抽象类不能被实例化。
    3.含有抽象方法的类必须被声明为抽象类, 
    4.子类继承抽象类,必须被重写父类的抽象方法,否则本身也必须被声明为抽象类
    5.抽象类中的方法和属性没有其他规则来约束,抽象类中没有抽象的方法是可以的,抽象类中可以有非抽象的方法和属性

    6.3 static :静态关键字

    6.3.1static属性:

    在类中,用static申明的成员变量叫静态变量,他为该类的公用变量,在第一使用时被初始化,对于该类的所有对象来说,static成员变量只有一份

    6.3.2 static方法:用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以static方法中不可以访问非static的成员。

    *静态方法中不能访问非静态成员
    *静态成员方法没有this引用
    *可以通过类名(不需要实例化)或对象引用来访问静态成员

    6.4 final关键字:

    final表示最终的意思

    *final的变量的值不能够被改变
    *final的成员变量
    *final的局部变量(形参)
    *final的方法不能够被重写
    *final的类不能够被继承

    6.5 接口:interface

    1.使用interface定义一个接口,使用implements实现一个接口
    2.接口中的属性只能为public static final类型(静态常量)
    3.接口中的方法只能为public abstract类型
    4.一个类可以实现多个接口,但只能继承一个类
    5.接口也可以继承接口


    文章转至:乐橙谷公会  http://www.lechenggu.com/bbs/topic/57eb4513fa0f9d733c1799df
  • 相关阅读:
    [转]ubuntu的which、whereis、locate和find命令
    [转]理解SSL(https)中的对称加密与非对称加密
    SSL交互过程
    [转]程序开发基础学习二(C++ Google Style 命名规则)
    函数内动态分配内存
    sizeof和strlen
    Sublime Text 3 安装Package Control
    [转]使用Openssl的AES加密算法
    正则表达式
    论文书写常见问题与技巧
  • 原文地址:https://www.cnblogs.com/linglipinger/p/5916409.html
Copyright © 2011-2022 走看看