您的位置:首页 > 编程语言 > Java开发

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也就有了值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: