/**
* 创建一个对象时,顺序如下:
* 1 - 静态变量初始化
* 2 - 执行静态初始化块,如果有多个静态初始化块,按照编写的词序来执行
* 3 - 执行构造函数的头部 无论是显式的还是隐式的 ?这是什么玩意?Java没有吧?
* 4 - 执行显式的实例变量的初始化以及实例化初始化块
* 5 - 执行构造函数中剩下的代码*
*/
public class Test5 extends A1 {
Test5() {
System.out.println("Test5");
}
class Test{
Test(){
System.out.println("Test");
}
}
//初始化块
{
System.out.println("初始化块");
}
Test t;
/**
* @param args
*/
public static void main(String[] args) {
new Test5();
}
}
class A1 {
public A1() {
System.out.println("AAA");
}
{
System.out.println("456");
}
}
/**
* 结果
* 456
* AAA
* 初始化块
* Test
* Test5
*/
阅读(1591) | 评论(0) | 转发(0) |