2014-04-24 20 views
-2
class Test { 

} 

public class NewClass { 
    public static void main(String[] args) throws ClassNotFoundException { 
     Test t = new Test(); 
     String s = new String("abc"); 
     Integer i = new Integer(1000); 
     System.out.println(Class.forName("Test").getClassLoader()); 
     System.out.println(t.getClass().getClassLoader()); 
     System.out.println(NewClass.class.getClassLoader()); 
     System.out.println(java.lang.String.class.getClassLoader()); 
     System.out.println(java.lang.Integer.class.getClassLoader()); 
    } 
} 

輸出:ClassLoader的名稱java.lang.String中來爲空

[email protected] 
[email protected] 
[email protected] 
null 
null 

在上面的代碼,爲什麼是字符串和整數空的類加載器?

回答

5

getClassLoader()

的JavaDoc返回該類的類加載器。一些實現可能使用 null來表示引導類加載器。 此方法將在這樣的實現中返回 空如果該類被引導 類加載器加載。

引導類加載器負責加載在Java API中定義的類。 StringInteger類正在通過Bootstrap類加載器加載。

+1

應該仔細看過文檔:)。謝謝 – TheLostMind

相關問題