在Java中,首次使用類時,所有類都會動態加載到JVM中。爲什麼這個類文件被創建?
這是否意味着如果我在源文件中有類並且我沒有提及它,那麼它的Class
對象沒有被創建(即.class
文件沒有被創建)?
在下面的示例代碼中,iam沒有引用test3
類,但仍創建了它的類對象。
class test1 {
static {
System.out.println("static block of test1");
}
}
class test2{
static {
System.out.println("static block of test2");
}
}
class test3 {}
class MyExample1 {
public static void main(String ...strings) {
new test1();
new test2();
}
}
爲什麼test3.class
文件被創建?
「加載類」是**不是**與「創建.class文件」。在編譯步驟之後,動態類加載發生* *,這會創建.class文件。 – 2011-03-07 07:17:13