java学习要点(一)
1.static 初始化
static成员变量与static语句块在该类对应的class字节码被加载的时候按顺序执行。如:
Class.forName("test.StaticTest");
此时,StaticTest类中的static成员变量将会被初始化,static语句块将被执行。
2.protected 访问权限
protected对应的属性与方法可以被在同一个包中的类访问,子类可以通过子类的引用访问protected属性与方法,
其实质为:子类可以继承父类的protected属性与方法,子类通过自身的引用访问父类的protected属性与方法时,其实是访问
子类自己继承的属性与方法。因而,子类不可以通过父类的引用访问protected属性与方法。如:
package father;
public Class Father{
protected void run(){
}
}
package son;
public Class Son extends Father{
public static void main(String[] args){
Father f = new Father();
f.run();//编译报错,不能通过父类的引用调用父类的protected方法
Son s = new Son();
s.run();//编译成功,可以通过子类的引用调用父类的protected方法
}
}
3.finalize研究
当对象不能被访问时,系统将判断该对象的finalize方法是否被执行过,如果已经被执行,系统将回收该对象;如果没有被执行,该
对象将被放入F-Queue队列中等待执行finalize方法。方法被执行后,系统将判断该对象是否可以被访问,如果能,则该对象复活,否则
将被回收。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。