类的主动引用与被动引用
- 主动引用(一定会发生类的初始化)
- new一个类的对象;
- 调用类的静态变量(final常量除外)和静态方法;
- 使用反射;
- 虚拟机启动,先启动main()方法所在的类;
- 先初始化父类。
- 被动引用(不会发生类的初始化)
- 访问静态域时,只有真正声明这个域的类才会被初始化(通过子类引用父类的静态变量,不会导致子类初始化);
- 通过数组定义类引用(A[] a = new A[10]),不会初始化类;
- 引用常量不会初始化类(常量在编译阶段就存入调用类的常量池中了)。
相关推荐
门头沟学院食堂阿姨:哈哈这人性就是这样的,真正希望自己过得好的只有自己,在核心利益面前很难有朋友,加油吧,用实力让质疑者闭嘴