Java的初始化顺序
来源:互联网 发布:秦美人护符进阶数据 编辑:程序博客网 时间:2024/05/22 11:32
import static net.mindview.util.Print.*;class Insect{ private int i = 9; protected int j; Insect(){ print("i = " + i + ", j = " + j); // System.out.println() j = 39; } private static int x1 = printInit("static Insct.x1 initialized"); static int printInit(String s) { print(s); return 47; }}public class Bettle extends Insect{ private int k = printInit("Bettle.k initialized"); public Bettle(){ print("k = " + k); print("j = " + j); } private static int x2 = printInit("static Bettle.x2 initialized"); public static void main(String[] args){ print("Beetle constructor"); Bettle b= new Bettle(); }}
结果如下:
1. 由于调用static main,因此Bettle会被加载。
2. 由于Bettle是继承Insect类的,所以Insect类会被加载。
3. 由于一开始没有创建对象,因此只会初始化静态变量,从父类到子类。
4. 当创建对象b的时候,根据继承,会先初始化父类,从成员变量到构造函数,static成员只会初始化一次,之前被初始化了,因此现在不会初始化。
阅读全文
0 0
- Java初始化的顺序
- JAVA的初始化顺序
- JAVA的初始化顺序
- java 的初始化顺序
- java的初始化顺序
- java的初始化顺序
- java初始化的顺序
- Java的初始化顺序
- JAVA的初始化顺序
- java的初始化顺序
- java的初始化顺序
- Java的初始化顺序
- java初始化的顺序
- java的初始化顺序
- Java的初始化顺序
- java中初始化的顺序
- java类的初始化顺序
- Java类的初始化顺序
- 排序
- 工厂模式杂谈&java的迭代器
- 【分布式】分布式事务原理与实践
- Erdas 9.2下载安装图文教程
- JS !=、== 、!==、=== 区别
- Java的初始化顺序
- 文章标题
- react-navigation的回调方法callback
- HTML+CSS网页设计视频教程
- Ant Transfer 数据量过多浏览器卡死问题解决
- 打开r40平台tinav2.1下的AP6212A0版本的BT(分色排版)
- JS错误处理与调试
- 修改yarn监控web页面上展示的StartFime和FinishTime【GMT时间】
- opencv VideoWriter 保存空文件,只有6k