- 實例說明
java的數據類型分為兩類:基礎數據類型和引用數據類型。對於每種類型的對象,java虛擬機會實例化不可變的java.lang.Class對象。它提供了在運行時檢查對象屬性的方法,這些屬性包括它的成員和類型信息。更重要的是Class對象是所有反射API的入口。
- 關鍵技術
通常有5種方式獲得Class對象,詳細說明如下:
- Object.getClass
- .class語法
- Class.forName()
- 包裝類的TYPE域:每個原始類型和void都有包裝類。
- 以Class為返回值的方法
/** * 演示各種獲取Class對象的方法 */ public class ClassTest { @SuppressWarnings("unchecked") public static void main(String[] args) throws ClassNotFoundException { System.out.println("第一種方式:Object.getClass"); Class c1 = new Date().getClass(); System.out.println(c1); System.out.println("第二種方式:.class"); System.out.println(Boolean.class); System.out.println("第三種方式:Class.forName('class.getName()')"); Class c2 = Class.forName("java.lang.String"); System.out.println(c2.getName()); System.out.println("第四種方式:包裝類的TYPE域"); Class c3 = Double.TYPE; System.out.println(c3.getName()); //獲取void包裝類 Class c4 = void.class; System.out.println(c4.getName()); } }