Java类初始化2
2016-04-03 17:36
387 查看
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 starts G starts T 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也就有了值
相关文章推荐
- myeclipse在线注册码
- Java 接口(interface)和抽象类(abstract class)区别
- JAVA中的final 和 static final
- java中jre\bin目录和jdk\bin目录下的工具功能介绍
- Java设计模式之单例模式
- Java并发编程系列之十一:synchronized(2)
- jvm(12)-java内存模型与线程
- Java集合---ConcurrentHashMap原理分析
- JAVA中的管道流
- JavaPersistenceWithHibernate第二版笔记Getting started with ORM-002Domain层详解及M etaModel
- Java 大数之大数高精度斐波那契 UVA_10579&&HDU1316 How many Fibs?
- Struts1与Struts2有哪些区别?
- JavaScrapy
- Java并发编程系列之十:synchronized(1)
- 【Java】选择四张花色不同的扑克
- java环境变量配置
- java volatile内存操作细节
- java:类和对象,函数
- Java代码-用牛顿环测透镜曲率半径
- 20145302张薇《Java程序设计》第五周学习总结