-3
public class ClassLoaderTest {
public static void main(String args[]) {
try {
//printing ClassLoader of this class
System.out.println("ClassLoaderTest.getClass().getClassLoader() : "
+ ClassLoaderTest.class.getClassLoader());
//trying to explicitly load this class again using Extension class loader
Class.forName("test.ClassLoaderTest", true
, ClassLoaderTest.class.getClassLoader().getParent());
} catch (ClassNotFoundException ex) {
Logger.getLogger(ClassLoaderTest.class.getName()).log(Level.SEVERE, null, ex);
}
}
的Class.forName具有第二個參數爲真,其指示將在Java初始化類。
類的初始化是什麼意思?
[右有在[的JavaDoc](http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#forName-java.lang.String -boolean-java.lang.ClassLoader-)它表示*「初始化 - 如果爲true,則該類將被初始化,參見Java語言規範第12.4節」。*因此[請參閱JLS的第12.4節](https:// docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.4)。 –