Java 类的初始化顺序 附测试代码
来源:互联网 发布:cf踢腿外设软件 编辑:程序博客网 时间:2024/05/16 05:35
类的初始化顺序有点忘了,于是写个个小Demo来测试一下,从输出的结果来看,大概按照如下顺序
1 父类的静态部分(第一次加载的话),这包括静态域,静态初始化字句
2 子类的静态部分(第一次加载的话),这包括静态域,静态初始化字句
3 父类的非静态部分,包括非静态实例,实例初始化字句
4 父类的构造器
5 子类的非静态部分,包括非静态实例,实例初始化字句
6 子类的构造器
00 同一个次序中,不同部分按照声明的顺序初始化
测试代码如下
class Out{Out(String s){System.out.println(s);}}class Super{ Out a = new Out("super instance field 1");static Out b = new Out("super static field 1");public Super(){ System.out.println("super constructor");} {System.out.println("super instance initialization");} static{ System.out.println("super static initialization"); } Out c = new Out("super instance field 2");static Out d = new Out("super static field 2");} class Sub extends Super{Out a = new Out("sub instance field 1");static Out b = new Out("sub static field 1");public Sub(){ System.out.println("sub constructor");} {System.out.println("sub instance initialization");} static{ System.out.println("sub static initialization"); } Out c = new Out("sub instance field 2");static Out d = new Out("sub static field 2");} public class Test{ public static void main(String[] args){ Super a = new Sub(); } }
结果如下
super static field 1
super static initialization
super static field 2
sub static field 1
sub static initialization
sub static field 2
super instance field 1
super instance initialization
super instance field 2
super constructor
sub instance field 1
sub instance initialization
sub instance field 2
sub constructor
0 0
- Java 类的初始化顺序 附测试代码
- java 初始化顺序的测试
- 百无聊赖时对java类初始化先后顺序的测试
- [java]java初始化顺序的代码解释
- java代码初始化顺序
- 关于Java中类加载时对其属性和代码块初始化顺序的研究与测试
- java对象初始化顺序(含测试代码)
- java类的初始化顺序
- Java类的初始化顺序
- Java类的初始化顺序
- Java类的初始化顺序
- Java类的初始化顺序
- java类初始化的顺序
- java类的初始化顺序
- Java类的初始化顺序
- java 类的初始化顺序
- Java类的初始化顺序
- java类的初始化顺序
- jQuery选择器使用
- 深度学习-caffe保存训练输出到log 并绘制accuracy loss曲线
- Linux下SSH安装配置使用详解
- java对象拷贝
- C++定义与声明 区别
- Java 类的初始化顺序 附测试代码
- SEO网站优化的7个常见技巧
- 我的大学四年总目标
- HPUoj 瞎子与瘸子的故事 ( BFS
- ScrollView嵌套ListView 两者滚动互不影响
- STM32F407ZGT6实现输入捕获RX1002八路PWM信号
- HTTP协议学习笔记
- Android中系统状态栏的隐藏和显示
- c++作业3