public class DynamicLoader {
public static void main(String[] args) {
//说明不是一次性加载 先加载A 然后加载B 需要的时候才加载
new A();
System.out.println("========================>");
new B();
new C();
new C();
new D();
new D();
}
}
class A{
}
class B{
}
class C{
//static 语句快在加载后只执行一次
static{
System.out.println("CCCCC");
}
}
class D{
/*D(){
System.out.println("DDDD");
}*/
//和上面的大致相同 每次new新的对象都会执行这段代码 用得较少
{
System.out.println("DDDD");
}
}
java -verbose:class 可以观察类的具体加载过程