//测试代码: 1 public class Test02 2 { 3 public Test02() 4 { 5 System.out.println("Test02"); 6 } 7 public static void main(String[] args) 8 { 9 Test03 test03= new Test03(); //110 //Test03.f(); //211 // System.out.println(Test03.i); //312 }13 }14 15 class Test0316 {17 static int i = 3;18 static Test02 test02 = new Test02();19 Test01 test01 = new Test01();20 21 static22 {23 System.out.println("static");24 }25 {26 System.out.println("nostatic");27 }28 static void f()29 {30 System.out.println("f()");31 }32 33 public Test03()34 {35 System.out.println("Test03");36 }37 }
执行1的结果如下:
Test02
static
Test01
nostatic
Test03
执行2的结果如下:
Test02
static
f()
执行3的结果如下:
Test02
static
3
结论如下:
1.创建对象时,需要对该对象所在的类进行初始化,初始化的顺序为:
静态对象>静态代码块>一般对象>普通代码块>构造方法
2.当只是调用类的静态变量或静态方法时,此时只初始化静态行为,即:
静态对象>静态代码块>静态变量(静态方法)