黑马程序员技术交流社区

标题: 类初始化顺序 [打印本页]

作者: 凊係柈泩    时间: 2012-12-17 20:05
标题: 类初始化顺序
本帖最后由 凊係柈泩 于 2012-12-18 17:34 编辑

请问public class InitialOrderTest {
// 静态变量
public static String staticField = "静态变量";
// 变量
public String field = "变量";
// 静态初始化块
static {
System.out.println(staticField);
System.out.println("静态初始化块");
}
// 初始化块
{
System.out.println(field);
System.out.println("初始化块");
}
// 构造器
public InitialOrderTest() {
System.out.println("构造器");
}
public static void main(String[] args) {
new InitialOrderTest();
}
}
执行结果是什么?顺序怎么样判断?求解
作者: 杨伟斌    时间: 2012-12-17 20:10
你这个已经是正确的顺序码。
作者: 孙辉辉    时间: 2012-12-17 20:15
这个,运行一下就得到答案了,

这个是我自己总结的,希望对你有帮助~!

1. 父类static(顺序按照代码书写顺序进行)
2. 子类static(顺序按照代码书写顺序进行)
3. 父类非static域、构造器(顺序按照代码书写顺序进行)
4. 子类非static域、构造器(顺序按照代码书写顺序进行)

1.png (1.8 KB, 下载次数: 32)

1.png

作者: 凊係柈泩    时间: 2012-12-17 20:30
孙辉辉 发表于 2012-12-17 20:15
这个,运行一下就得到答案了,

这个是我自己总结的,希望对你有帮助~!

学习了,回复很好
作者: 凊係柈泩    时间: 2012-12-18 17:22
问题已经解决




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2