java初始化顺序
来源:互联网 发布:c语言程序贪吃蛇 编辑:程序博客网 时间:2024/05/29 06:46
public class Father {int a=1;static int b=2;{System.out.println("father-a=="+a);System.out.println("father-b=="+b);}static{//System.out.println("a=="+a);System.out.println("father-static-b=="+b);}public Father(){System.out.println("father-构造方法-a=="+a);System.out.println("father-构造方法-b=="+b);}}
测试:public class Son extends Father{int a=1;static int b=2;{System.out.println("son-a=="+a);System.out.println("son-b=="+b);}static{//System.out.println("a=="+a);System.out.println("son-static-b=="+b);}public Son(){System.out.println("son-构造方法-a=="+a);System.out.println("son-构造方法-b=="+b);}}
new Son();
输出:
father-static-b==2
son-static-b==2
father-a==1
father-b==2
father-构造方法-a==1
father-构造方法-b==2
son-a==1
son-b==2
son-构造方法-a==1
son-构造方法-b==2
可以看出,初始化顺序应该是:
1、父类静态初始化块
2、子类静态初始化块
3、父类初始化块
4、父类构造器
5、子类初始化块
6、子类构造器
又由于在初始化块中输出了变量的值,说明在进入初始化块之前,变量已经初始化完成了。而且,据说也是静态变量优先于实例变量。
0 0
- java-java初始化顺序
- Java初始化顺序
- JAVA 初始化顺序
- JAVA初始化顺序
- Java程序初始化顺序
- Java初始化顺序
- [java]初始化顺序
- java变量初始化顺序
- java 初始化顺序
- Java初始化的顺序
- JAVA对象初始化顺序
- java对象初始化顺序
- JAVA 类初始化顺序
- JAVA初始化顺序
- Java 静态初始化顺序
- Java类初始化顺序
- java初始化顺序
- JAVA初始化顺序
- POJ 1724 Roads(深搜之寻路问题)
- RecyclerView系列之一:打造RecyclerView通用的适配器BaseAdapter
- MATLAB作图方法与技巧(一)
- Mac OS安装最新HAXM(非android sdk manager)
- 文章标题
- java初始化顺序
- iOS 开发 深入浅出Runtime运行时之方法动态处理(Dynamic Method Resolution)详解
- 修改主机名与配置ssh通过主机名进行远程登录
- Android 语言及时区列表
- 如何教计算机认识手写数字(中)
- 银行卡的密码为什么是六位数?被破译的几率太大ma ?
- css实现两端对齐的方法(先借鉴别人的,后期再加入自己的理解)
- [洛谷1629] 邮递员送信
- 如何定制自己的java service: example