Class對象測試

private static void 同一個Class對象測試() {
  Class<Class對象Test> a = Class對象Test.class;
  Class<Class對象Test> b = Class對象Test.class;
  System.out.println(a == b);//true;
  Class<Class對象Test> c = null;
  try {
   c = (Class<Class對象Test>)Class.forName("com.cai.test.Class對象Test");
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  System.out.println(a == c);//true;
  
  Class對象Test instance = new Class對象Test();
  Class<? extends Class對象Test> d = instance.getClass();
  System.out.println(a == d);//true;
 }

三種情況都打印了true, 這, 至少說明在上述情況下生成的Class對象一樣的。

百度一下. 生成Class對象的過程其實是如此的:

  當我們編寫一個新的java類時,JVM就會幫我們編譯成class對象,存放在同名的。class文件中。在運行時,當需要生成這個類的對象,JVM就會檢查此類是否已經裝載內存中。若是沒有裝載,則把。class文件裝入到內存中。若是裝載,則根據class文件生成實例對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章