今天我们先来一个小的Demo来了解类的加载顺序。
1 public class ClassLoaderTest { 2 public static void main(String[] args) { 3 System.out.println("*******************测试类的加载顺序开始*******************"); 4 new SubClass(); 5 System.out.println("*******************测试类的加载顺序结束*******************"); 6 /** 7 * 测试结果: 8 * *******************测试类的加载顺序开始******************* 9 ParentClass 静态代码块.... 10 SubClass 静态代码块.... 11 ParentClass 匿名内部类.... 12 ParentClass 构造函数.... 13 SubClass 匿名内部类.... 14 SubClass 构造函数.... 15 *******************测试类的加载顺序结束******************* 16 */ 17 } 18 19 20 } 21 22 23 24 class ParentClass{ 25 ParentClass(){ 26 System.out.println("ParentClass 构造函数...."); 27 } 28 29 static{ 30 System.out.println("ParentClass 静态代码块...."); 31 } 32 33 { 34 System.out.println("ParentClass 匿名内部类...."); 35 } 36 37 } 38 39 class SubClass extends ParentClass{ 40 SubClass(){ 41 System.out.println("SubClass 构造函数...."); 42 } 43 44 static{ 45 System.out.println("SubClass 静态代码块...."); 46 } 47 48 { 49 System.out.println("SubClass 匿名内部类...."); 50 } 51 52 }
时间: 2024-10-09 04:46:03