国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java反射機制總結學習--Class類

2019-11-06 06:50:44
字體:
來源:轉載
供稿:網友
以前一直知道java反射機制,也會用,但是并沒有很好地去總結梳理。所以在這里記錄一下,更熟悉一下。

萬物皆對象

class A{ void PRint(){ System.out.println("A"); }}public class ClassDemo1 { public static void main(String[] args) { //A的實例對象 A a1 = new A();}

上面 ,我們知道a1是A類的對象,那么,A類本身是不是對象呢,當然也是對象,因為萬物皆對象。那它是哪個類的對象呢?答案是Java.lang.Class類的對象。有一個class是Class類。 既然A類本身也是也是對象,那么它怎么實例對象怎么表示呢?有以下三種:

//第一種,任何一個類都有一個隱含的靜態成員變量 Class c1 = A.class; //第二種 ,已經知道該類的對象,通過getClass方法獲取 Class c2 = a1.getClass(); //c1,c2表示了A類的類 類型 class type; //c1 c2都代表了A類的類類型, System.out.println(c1 == c2);//true //第三種 Class c3 = null; try { c3 = Class.forName("com.wj.demo.A"); System.out.println(c1 == c3);//true } catch (ClassNotFoundException e) { e.printStackTrace(); }

上面的c1,c2,c3都是A類的類類型,我們可以通過類的類類型創建該類的實例:

//可以通過類的類類型創建該類的實例 try { A a = (A) c1.newInstance();//需要有無參數的構造方法 a.print();//可以正常調用 } catch (InstantiationException | IllegalaccessException e) { e.printStackTrace(); }

而且,需要注意的是Class類的構造方法如下:

/* * Constructor. Only the Java Virtual Machine creates Class * objects. */ private Class() {}

所以,我們不可能調用Class的構造方法。

以上就是關于Class類的基本介紹與使用。所有代碼:

public class ClassDemo1 { public static void main(String[] args) { //A的實例對象 A a1 = new A(); //A也是實例對象,是Class類的實例對象 //任何一個類都是Class類的實例對象,都可以有三種表示方式 //第一種,任何一個類都有一個隱含的靜態成員變量 Class c1 = A.class; //第二種 ,已經知道該類的對象,通過getClass方法獲取 Class c2 = a1.getClass(); //c1,c2表示了A類的類 類型 class type; //c1 c2都代表了A類的類類型, System.out.println(c1 == c2); //第三種 Class c3 = null; try { c3 = Class.forName("com.wj.demo.A"); System.out.println(c1 == c3); } catch (ClassNotFoundException e) { e.printStackTrace(); } //可以通過類的類類型創建該類的實例 try { A a = (A) c1.newInstance();//需要有無參數的構造方法 a.print(); } catch (InstantiationException | IllegalAccessException e) { e.printStackTrace(); } Class b1 = B.class; System.out.println(c1 == b1); } /** * 1、類是對象,是java.lang.Class類的實例對象,Class也是一個class * */}class A{ void print(){ System.out.println("A"); }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金沙县| 荃湾区| 台南县| 安乡县| 密云县| 新竹县| 房产| 许昌市| 凤冈县| 依安县| 包头市| 锡林浩特市| 禹城市| 夏河县| 孟津县| 湖南省| 普兰店市| 龙江县| 凯里市| 迭部县| 安丘市| 商洛市| 徐水县| 博湖县| 长春市| 霞浦县| 汝南县| 洪雅县| 洞口县| 察哈| 定兴县| 黎川县| 英德市| 崇礼县| 康定县| 兴隆县| 兴仁县| 云安县| 津市市| 凤庆县| 西畴县|