[笔记]有关Static初始化的一点小小记忆
来源:互联网 发布:非mac安装os x 编辑:程序博客网 时间:2024/05/13 17:25
Q1:看下列代码,分析输出结果?
public class Test { static { System.out.println("static");//-----1 } public Test() { System.out.println("Test");//-----2 } public static void main(String[] args) { Test test = new Test(); }}
A:
staticTest
Thinking:静态代码块先于构造器执行。
Q2:看下列代码,分析输出结果?
public class Test { static Test test1 = new Test();//-----1 static { System.out.println("static");//-----2 } public Test() {//-----3 System.out.println("Test"); } public static void main(String[] args) { Test test1 = new Test(); }}
A:
TeststaticTest
Q:看下列代码,分析输出结果?
public class Test { static { System.out.println("static");//-----1 } public Test() {//-----3 System.out.println("Test"); } public static void main(String[] args) { Test test1 = new Test(); } static Test test1 = new Test();//-----2}
A:
staticTestTest
Thinking:静态代码块按顺序执行。
Q3:看下列代码,分析输出结果?
public class Test { static { System.out.println("static");//-----1 } public Test() {//------3,4 System.out.println("Test"); } public static void main(String[] args) { Test test1 = new Test(); Test test2 = new Test(); } static Test test1 = new Test();//-----2}
A:
staticTestTestTest
Thinking:静态代码块只在类加载的时候初始化一次,之后都不再执行。
总结:static修饰的变量在构造器之前(除非该类也是static修饰,类似Q1)按顺序初始化,而且只加载一次。
tip:笔者经验非常有限,如有错误或者描述不当的地方,请轻喷。。。。。。
0 0
- [笔记]有关Static初始化的一点小小记忆
- 有关容器的一点小小总结
- 一点小小的感悟~~
- 有关类static初始化顺序
- 有关REST的一点学习笔记
- 有关REST的一点学习笔记
- 有关青春的记忆
- MySQL的一点小小总结
- Quartz 一点小小的理解
- spring的一点小小理解
- java 一点小小的体会
- NSCache的一点小小认识
- 类的一点小小总结
- 那时候的小小记忆--KFC点菜系统
- 小小的一座记忆之城
- 孔子研究 的一点记忆
- 学生时代的一点记忆
- 有关js的一点笔记(alert乱码问题)
- 使用Bundle传递复杂数据
- 南大软院21天大神养成计划-第二天
- 南大软院21天大神养成计划第3天
- 西门子与RS485:
- Struts2通配符映射
- [笔记]有关Static初始化的一点小小记忆
- POJ1185 炮兵阵地 (状态压缩DP)
- HDU 1205 吃糖果 (抽屉原理)
- Hadoop基本架构之HDFS和MapReduce(上)
- 素数有无穷多个的证明
- poj2240
- 同步通信和异步通信
- 多线程中更新UI万能方法
- 关于应用程序的开机启动界面