//测试代码: 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(); //1 10 //Test03.f(); //2 11 // System.out.println(Test03.i); //3 12 } 13 } 14 15 class Test03 16 { 17 static int i = 3; 18 static Test02 test02 = new Test02(); 19 Test01 test01 = new Test01(); 20 21 static 22 { 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.当只是调用类的静态变量或静态方法时,此时只初始化静态行为,即:
静态对象>静态代码块>静态变量(静态方法)
时间: 2024-10-05 23:03:02