public class Test {
Person person = new Person("Test");
static{
System.out.println("test static");
}
public Test() {
System.out.println("test constructor");
}
public static void main(String[] args) {
new MyClass();
}
}
class Person{
static{
System.out.println("person static");
}
public Person(String str) {
System.out.println("person "+str);
}
}
class MyClass extends Test {
Person person = new Person("MyClass");
static{
System.out.println("myclass static");
}
public MyClass() {
System.out.println("myclass constructor");
}
}
输出结果是:
test static
myclass static
person static
person Test
test constructor
person MyClass
myclass constructor
加载Test类
执行Test.main
加载MyClass类
加载Test类(已加载)
构造Test
加载person类
Test 的person成员变量
test构造器
加载person类(已加载)
MyClass的person成员变量
MyClass构造器