梦入IBM之java基础第六天
现在我们开始第六天的总结:
第六天关于static与final
1):当static修饰方法或者修饰成员变量时,那么这个方法或成员变量将属于这个类所对应的class对象的,在类加载的时候就生成了class对象
因为类的class对象只有一个,所以可以用类名.成员变量,或者类名.方法来调用。并且他们是共有的!
2):如果static修饰父类的方法时,多态的时候,不会创建多态的连接,并且static修饰的父类的方法,不会被重写,能会被隐藏,并且隐藏时,子类
的方法必须被static修饰。
3):静态代码块
static
{
反对反对法
}
注意:静态代码块在类的初始化的时候开始执行,一般情况下先于构造方法。
正常执行顺序:先执行父类的静态代码块,
再执行子类的静态代码块,
等所有静态代码块执行完了以后
再执行父类的构造方法
子类的构造方法
4):由于static修饰的成员变量和方法是属于class对象的,所以class对象的方法中只能访问静态的成员变量和方法,而非静态的方法什么都可以访问。
5):final修饰类,表示类不能被继承,并且类的方法必须全部被final修饰!
final修饰方法时,方法不能被重写。
final修饰成员变量,如果成员变量为基本数据类型,那么其值不变,
成员变量为引用数据类型,剑柄指向这把剑不变,但是剑中的内容可以变。
final在修饰成员变量时,有两种赋值方式:第一:声明时赋值
第二:在构造方法中赋值
final修饰局部变量时,只能在声明时赋初值。
由于没有工具,所以这一天就不用画思维导图了~~~