Java类初始化2
来源:互联网 发布:导入标准件的软件 编辑:程序博客网 时间:2024/06/05 14:22
public class Test2 { public static void main(String[] args) { System.out.println("main starts"); T t=new T(); }}class T{ static { G g=new G(); } T(){ System.out.println("T starts"); } int a=5; static int b=7;}class G{ int b=5; public void f(){ System.out.println("f() starts"); } G(){ System.out.println("G starts"); }}
输出:
main startsG startsT starts
说明:
1、”从main进入“输出“main starts”定义变量T t=new T();
2、加载类T,初始化类T中的static{G g=new G();}块儿,这里的static块只会执行一次
3、其中这时又加载类G,初始化b=5,然后输出G starts,g有了值,
4、之后初始化static b=7,然后初始化a=5,然后输出T starts,这个static只会执行一次
5、然后t也就有了值
1 0
- Java类初始化2
- Java-类初始化顺序-2
- JAVA 类初始化顺序
- Java类初始化顺序
- java 类的初始化
- java 初始化基类
- JAVA类初始化过程
- java类初始化顺序
- java类初始化顺序
- JAVA类 初始化顺序
- java类初始化顺序
- java 类的初始化
- java 类初始化顺序
- java类初始化过程
- java类的初始化
- Java类的初始化
- java类初始化
- JAVA类的初始化
- 210. Course Schedule II 图的dfs算法
- UVA_524_Prime Ring Problem
- Matplotlib快速绘图(2)
- MD5Util
- hdoj 2036
- Java类初始化2
- 日期与时间
- 回车(CR,'\r')和换行符(LF, '\n')的区别
- 虚信道路由
- SCIP使用
- Python中的str与bytes
- 209. Minimum Size Subarray Sum
- JavaScript(二)-- 面向对象
- NoC路由算法