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());
}
}
输出:
sun.misc.Launcher$AppClassLoader@546b97fd
sun.misc.Launcher$AppClassLoader@546b97fd
sun.misc.Launcher$AppClassLoader@546b97fd
null
null
在上面的代码中,为什么String和Integer的类加载器为null?
答案 0 :(得分:6)
返回类的类加载器。一些实现可能会使用 null表示引导类加载器。 此方法将返回 如果此类由引导程序加载,则在此类实现中为null 班级装载机。
Bootstrap类加载器负责加载Java API中定义的类。 String
和Integer
类正由Bootstrap类加载器加载。