日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第一章反射

發布時間:2024/4/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一章反射 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java反射

  • 反射概念
    • 反射的概念
    • 反射的機制
    • 反射的作用
    • 反射常用的API
  • 反射的作用
    • 使用反射的基本步驟
    • Class類
    • 獲取類的實例
    • 獲取類型的基本信息
    • 獲取屬性信息
    • 獲取方法的具體信息
    • 獲取構造方法信息
    • 反射方式創建類的實例
    • 通過反射訪問實例的字段
    • 通過反射訪問實例的方法
    • 反射技術的優點
    • 反射技術的缺點
    • 反射總結

反射概念

反射的概念

反射是指程勛能夠運行時,觀察,檢測,修改自己運行時狀態和行為的一種能力、特性

反射的機制

1.反射機制是java語言的特性之一,是java被視為動態(或準動態)語言的一個關鍵特性。
2.在運行狀態中,動態獲取類的信息以及動態調用對象的功能稱為java語言的反射機制

反射的作用

1.在運行時判斷任意一個 對象所屬的類

  • 在運行時判斷任意一個 對象所含有的屬性和方法
    3.在運行時構造任意一個 類的對象
  • 在運行時調用任意一個對象的方法
  • 生成動態代理
  • 反射常用的API

    1.java.lang.Class 類 :反射的核心類,反射的所有操作都是圍繞該類來生成的。通過Class類可以獲取類的屬性,方法等內容信息
    2.Java.lang.reflect.Constuctot:表示類的構造方法
    3.Java.lang.reflect.Field類:表示類的構造屬性,可以獲取和是指類中屬性的值
    4.Java.lang.reflect.Method類:表示類的方法,可以獲取類中方法的信息或執行方法

    撤銷:Ctrl/Command + Z
    重做:Ctrl/Command + Y
    加粗:Ctrl/Command + B
    斜體:Ctrl/Command + I
    標題:Ctrl/Command + Shift + H
    無序列表:Ctrl/Command + Shift + U
    有序列表:Ctrl/Command + Shift + O
    檢查列表:Ctrl/Command + Shift + C
    插入代碼:Ctrl/Command + Shift + K
    插入鏈接:Ctrl/Command + Shift + L
    插入圖片:Ctrl/Command + Shift + G
    查找:Ctrl/Command + F
    替換:Ctrl/Command + G

    反射的作用

    使用反射的基本步驟

  • 導入java.lang.reflect包中的相關類
  • 獲取需要操作的類的Class實例
  • 調用Class實例的方法獲取Field,Method等實例
  • 使用反射API操作實例成員
  • Class類

    獲取類的實例

    1.使用類.getclass獲得
    Class c1=User.class;
    2 使用對象.getclass()獲得;
    User u=new User();
    Class c2=(Class) u.getClass();
    3 class.forName(參) 參:類全名;
    Class c3=Class.forName(“pm.User”);

    獲取類型的基本信息

    獲取屬性信息

    獲取方法的具體信息

    獲取構造方法信息

    反射方式創建類的實例

    基于圖紙類創建
    Class c=User.class;
    User user1=c.newInstance();
    user1.setName(“李俊陽”);
    基于圖紙類的構造函數創建
    Class c1=User.class;
    Constructor constructor=c1.getDeclaredConstructor();
    User user2=(User) constructor.newInstance();
    user2.setName(“武教博”);

    通過反射訪問實例的字段

    //1.操作user類的屬性//先獲得user類的屬性Class<User> c=User.class;User user=(User)c.newInstance();Field field=c.getDeclaredField("name");field.setAccessible(true);field.set(user,"劉文龍");

    通過反射訪問實例的方法

    //先獲得User類的方法對象Method method=c.getDeclaredMethod("getName");String name=(String) method.invoke(user);System.out.println(name);

    反射技術的優點

    反射技術的缺點

    反射總結

    總結

    以上是生活随笔為你收集整理的第一章反射的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。