<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java reflect

    文檔

    java reflect

    javareflect是反射機制,在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。
    推薦度:
    導讀javareflect是反射機制,在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。

    java reflect是什么?讓我們一起來了解一下吧!

    java reflect是反射機制,指在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。

    ?

    實現反射的方法:

    一、獲得類的信息(獲得到的是類的全路徑信息)

    獲取類的信息有三種方法:

    1.使用class類的forName()方法獲取類的信息

    2.使用實例的getClass()獲取類的信息

    3.通過類名獲得類的信息

    二、使用類的信息創建類

    獲得類的信息之后,可以使用reflect(反射)包下面的Field和Method類獲得類的屬性和方法,并對屬性和方法進行操作。

    獲得類的全路徑名以后可以通過使用Class類中的getDeclaredMethod(String name, Class

    getDeclaredField(String name)方法如下:

    public?class?ClassUtils?{
    ????/**
    ?????*?獲取屬性字段
    ?????*?@param?clazz?類
    ?????*?@param?fieldName?屬性名稱
    ?????*?@throws?Exception
    ?????*/
    ????public?static?void?getDeclaredField(Class?clazz,?String?fieldName)?throws?Exception{
    ????????System.out.println(clazz.getDeclaredField(fieldName));
    ????}
    }
    public?class?ClassTest?{
    ????public?static?void?main(String[]?args)?{
    ????????try?{
    ????????????Class?clazz?=?Class.forName("reflectdemo.SuperHero");
    ????????????//測試公有屬性
    ????????????ClassUtils.getDeclaredField(clazz,?"ADDRESS");
    ????????????//測試私有屬性
    ????????????ClassUtils.getDeclaredField(clazz,?"name");
    ????????}?catch?(Exception?e)?{
    ????????????e.printStackTrace();
    ????????}
    ????}
    }

    ?getDeclaredFields()方法如下:

    public?class?ClassUtils?{
    ????/**
    ?????*?遍歷clazz對象已有的成員變量
    ?????*?@param?clazz
    ?????*/
    ????public?static?void?getDeclaredFields(Class?clazz){
    ????????Field[]?fields?=?clazz.getDeclaredFields();
    ????????for?(Field?field:?fields)?{
    ????????????//如果要設置值,需要加入下面這句,反射對象在使用時不使用Java語言訪問檢查
    ????????????//field.setAccessible(true);
    ????????????
    ????????????//直接打印Field
    ????????????System.out.println(field);
    ????????????//手動獲取變量類型和變量名稱
    ????????????System.out.println(field.getType().getName()?+?"?"?+field.getName());
    ????????????System.out.println("--------------------");
    ????????}
    ????}
    }
    public?class?ClassTest?{
    ????public?static?void?main(String[]?args)?{
    ????????try?{
    ????????????Class?clazz?=?Class.forName("reflectdemo.SuperHero");
    ????????????//遍歷成員變量
    ????????????ClassUtils.getDeclaredFields(clazz);
    ????????}?catch?(Exception?e)?{
    ????????????e.printStackTrace();
    ????????}
    ????}
    }

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java reflect

    javareflect是反射機制,在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java regex java openssl java orm java outer java outofmemory java overload java resources java resolve java require java region java render java override java pandas java parse java repeat java parser java request java partial java requests java rest java reference java redirect java rectangle java openjdk java opengl java openfire java onvif java inputstreamreader java influxdb java implements java image java htmlunit java hibernate java number java nslookup java notify java node類 java hdfs java hashcode java getbytes
    Top 精品国产综合成人亚洲区| 精品无码久久久久久久久 | 亚洲国产精品线在线观看| 在线欧美精品一区二区三区| 人妻少妇精品一区二区三区| 国产精品自在线拍国产手青青机版 | 国产精品内射视频免费| 国产精品久久久久久久久软件 | 老司机福利精品视频| 久久精品免费观看| 无码精品人妻一区二区三区影院 | 久久精品国产第一区二区三区| 91探花国产综合在线精品| 国精品午夜福利视频不卡| 四虎永久在线精品免费观看地址| 99精品国产高清一区二区三区 | 久久这里只有精品视频99| 国产精品免费观看久久| 亚洲日韩国产精品无码av| 国产精品视频一区二区噜噜 | 久久精品国产亚洲AV麻豆王友容 | 精品无人区无码乱码大片国产| 久久免费视频精品| 久久青青草原精品国产不卡| 日本精品久久久久护士| 久久中文字幕精品| 91精品视品在线播放| 久久精品一区二区三区资源网| 精品久久久久久中文字幕无碍| 人人妻久久人人澡人人爽人人精品| 精品亚洲AV无码一区二区| 久久久国产精品无码免费专区| 精品国产精品国产| 免费精品国产日韩热久久| 亚洲欧洲国产经精品香蕉网| 人妻精品久久久久中文字幕一冢本| 国产乱码精品一区二区三区麻豆 | 国内精品久久久久久久97牛牛| 精品国产sm捆绑最大网免费站 | 亚洲精品视频久久| 热re99久久6国产精品免费|