精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java反射機制可能是漲薪關鍵!

開發 后端
反射是一種動態類的處理機制,通過 Class類 來實現反射機制;在反射機制下,可以自動獲取并調用任意一個類中的組成結構(成員屬性、方法),使得代碼的編寫更加靈活。

Java核心反射機制

基本反射

反射是一種動態類的處理機制,通過 Class類 來實現反射機制;

Class類的基本信息:

  1. Module java.base 
  2. Package java.lang 
  3.     Class Class<T> 
  4.         java.lang.Object 
  5.              java.lang.Class<T> 

以下三種方式獲得類的反射,三者都非常重要,牢牢掌握。

一、利用Object類中提供getClass()方法獲取實例化對象

  1. class Member {} 
  2. public class JavaReflectDemo { 
  3.     public static void main(String[] args) throws Exception { 
  4.         // 【操作特點】需要獲取一個類的實例化對象之后才可以獲取Class類實例 
  5.         Member member = new Member() ;    // 實例化Member類對象 
  6.         Class<?> clazz = member.getClass() ;     // 獲取Class類實例化對象 
  7.         System.out.println(clazz); 
  8.     } 

二、使用“類.class”形式

  1. class Member {} 
  2. public class JavaReflectDemo { 
  3.     public static void main(String[] args) throws Exception { 
  4.         // 【操作特點】直接通過一個類的完整名稱可以獲取Class類實例,需要編寫import或編寫完整類名稱 
  5.         Class<?> clazz = Member.class ;     // 獲取Class類實例化對象 
  6.         System.out.println(clazz); 
  7.     } 

三、使用Class類內部提供的forName()方法根據類的完整名稱獲取實例化對象

  1. class Member {} 
  2. public class JavaReflectDemo { 
  3.     public static void main(String[] args) throws Exception { 
  4.         // 【操作特點】通過名稱字符串(包.類)可以獲取Class類實例,可以不使用import導入 
  5.         // 獲取Class類實例化對象 
  6.         Class<?> clazz = Class.forName("cn.xbhog.demo.Member");     
  7.         System.out.println(clazz); 
  8.     } 

反射獲取實例化對象

  1. package com.xbhog.反射機制; 
  2. class Member{ 
  3.     public Member() {    // 構造方法 
  4.         System.out.println("【構造方法】實例化Member類對象."); 
  5.     } 
  6.     @Override 
  7.     public String toString() { 
  8.         return "【toString()覆寫】博客地址:http://www.cnblogs.com/xbhog"
  9.     } 
  10.  
  11. public class 反射獲取對象 { 
  12.     public static void main(String[] args) throws Exception { 
  13.         // 獲取Class類實例化對象 
  14.         Class<?> clazz = Class.forName("com.xbhog.反射機制.Member");      
  15.         // 反射機制可以獲取任意類實例化對象(等價于關鍵字“new”),所以返回的類型為Object 
  16.         Object obj = clazz.getDeclaredConstructor().newInstance() ;// 實例化對象 
  17.         System.out.println(obj); 
  18.     } 

反射的機制可以更加方便開發者實現解耦和設計;

反射與類操作

在反射機制下,可以自動獲取并調用任意一個類中的組成結構(成員屬性、方法),使得代碼的編寫更加靈活。

反射獲取類結構

  1. package com.xbhog.反射機制; 
  2. interface IMessage{ 
  3.     public void send(); 
  4. interface IChannelService{ 
  5.     public Boolean connect(); 
  6.  
  7. abstract class AbstractBase{} 
  8. public class Mail extends AbstractBase implements IMessage,IChannelService{ 
  9.     @Override 
  10.     public void send() { 
  11.         if(this.connect()){ 
  12.             System.out.println("發送信息成功"); 
  13.         } 
  14.     } 
  15.  
  16.     @Override 
  17.     public Boolean connect() { 
  18.         return true
  19.     } 
  1. package com.xbhog.反射機制; 
  2. public class MailTest { 
  3.     public static void main(String[] args) { 
  4.         Class<Mail> aClass = Mail.class; 
  5.         System.out.println(aClass.getPackage());  //獲取類的包名 
  6.         Class<? super Mail> superclass = aClass.getSuperclass(); //獲取父類對象信息 
  7.         System.out.println(superclass.getName());  //獲取父類名字 
  8.         System.out.println(superclass.getSuperclass().getName());  //獲取父類的父類的名字 
  9.  
  10.         /*獲取接口信息*/ 
  11.         Class<?>[] interfaces = aClass.getInterfaces(); 
  12.         for (Class<?> anInterface : interfaces) { 
  13.             System.out.println(anInterface.getName()); 
  14.         } 
  15.     } 

反射調用構造方法

反射還可以調用構造方法,構造方法是類中的重要組成部分,也是實例化對象時必須調用的方法。

實例:

  1. import java.lang.reflect.Constructor; 
  2. class Mail { 
  3.     private String msg ; 
  4.     public Mail() {}// 無參構造 
  5.     public Mail(String msg) {// 單參構造 
  6.         System.out.println("【構造方法】調用Mail類單參構造方法,實例化對象"); 
  7.         this.msg = msg ; 
  8.     } 
  9.     @Override 
  10.     public String toString() {    // 對象信息 
  11.         return "【toString()覆寫】消息內容:" + this.msg; 
  12.     } 
  13. public class JavaReflectDemo { 
  14.     public static void main(String[] args) throws Exception { 
  15.         Class<?> cls = Mail.class ; // 獲取指定類的Class對象 
  16.         Constructor<?>[] constructors = cls.getDeclaredConstructors() ; // 獲取全部構造 
  17.         for (Constructor<?> cons : constructors) { 
  18.             System.out.println(cons); 
  19.         } 
  20.         // 獲取單參構造并且參數類型為String的構造方法對象實例 
  21.         Constructor<?> cons = cls.getDeclaredConstructor(String.class) ; 
  22.         Object obj = cons.newInstance("www.cnblog.cn/xbhog") ;// 調用單參構造實例化對象 
  23.         System.out.println(obj); 
  24.     } 

反射調用方法

反射機制中除了獲取類中的方法定義外,最為重要的功能就是可以利用Method類中的invoke()方法并結合實例化對象(Object類型即可)實現放射的調用。

反射調用類中的setter、getter方法【重點】

  1. package com.xbhog.反射機制.方法; 
  2.  
  3. import java.lang.reflect.InvocationTargetException; 
  4. import java.lang.reflect.Method; 
  5.  
  6. class Member{ 
  7.     private String name
  8.     public void setName(String name){ 
  9.         this.name = name
  10.  
  11.     } 
  12.     public String getName(){ 
  13.         return this.name
  14.     } 
  15.  
  16. public class getter_Setter { 
  17.     public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { 
  18.         Class<?> cls = Member.class; 
  19.         String value = "xbhog"
  20.         //實例化Member對象 
  21.         Object obj = cls.getDeclaredConstructor().newInstance(); 
  22.         //反射調用方法需要明確的知道方法的名稱以及方法中的參數類型 
  23.         String setMethodName ="setName"
  24.         Method setmethod = cls.getDeclaredMethod(setMethodName, String.class);  //獲取指定方法 
  25.         setmethod.invoke(obj,value);  //對象.setName(value) 
  26.         String getMethodName = "getName"
  27.         Method getMethod = cls.getDeclaredMethod(getMethodName);  //get沒有參數 
  28.         System.out.println(getMethod.invoke(obj));//對象.getName(); 
  29.     } 

通過放射實現的方法調用的最大的特點是可以直接利用Object類型的實例化對象進行調用的,但是在獲取對象時需要明確的知道方法名稱以及方法的參數類型。

Field類的作用

在實際開發中,Field中的getType()方法使用的較多,可以通過其來確定屬性的類型

示例:

  1. import java.lang.reflect.Field; 
  2.  
  3. class Member{ 
  4.     private String name
  5.     public void setName(String name){ 
  6.         this.name = name
  7.  
  8.     } 
  9.     public String getName(){ 
  10.         return this.name
  11.     } 
  12. public class FIeldDemo { 
  13.     public static void main(String[] args) throws Exception { 
  14.         //獲取Member類 
  15.         Class<?> cls = Member.class; 
  16.         //實例化 
  17.         Object obj = cls.getDeclaredConstructor().newInstance(); 
  18.         //成員屬性name的類型 
  19.         Field name = cls.getDeclaredField("name"); 
  20.         //獲取詳細信息 
  21.         System.out.println(name.getType().getName()); 
  22.         //獲取簡略信息 
  23.         System.out.println(name.getType().getSimpleName()); 
  24.     } 

結果:

  1. java.lang.String  String 

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-03-18 10:57:42

物聯網IoT

2023-03-07 14:58:37

數字孿生自動化

2015-04-20 11:12:14

2022-02-21 16:00:39

Web3中心化互聯網

2017-10-17 12:43:17

前端CSS布局

2022-09-19 11:53:17

5G智慧城市

2015-09-23 12:22:56

首席安全官IT薪酬

2022-07-12 15:23:38

勒索軟件網絡攻擊

2012-08-30 09:44:27

2020-10-14 09:46:33

Spring MVC接口漏洞

2025-09-03 07:18:07

2021-06-28 08:39:04

外包職位企業

2017-06-26 10:18:43

2021-08-27 10:14:22

機器學習工具手冊人工智能

2025-01-16 15:44:04

2022-09-26 10:56:28

人工智能數字孿生

2012-04-05 13:50:38

Java

2020-11-23 08:21:02

CTO交流學習

2018-03-07 09:35:17

區塊鏈

2022-04-11 10:43:33

供應鏈機器學習企業
點贊
收藏

51CTO技術棧公眾號

无码人妻h动漫| 国产电影精品久久禁18| 欧美激情中文字幕一区二区| 美女精品视频一区| 九九久久99| 国产美女久久久久久| 在线天堂资源www在线污| 国产精品伊人色| 亚洲精品自产拍| 成人免费看片'免费看| 亚洲一区在线观| 国产一区二区三区四区二区| 精品福利在线观看| 99在线视频播放| 欧洲美女女同性互添| 成人国产一区| 久久蜜桃av一区二区天堂| 欧美精品999| 亚洲v在线观看| av片在线观看网站| 天天射成人网| 欧美日韩另类国产亚洲欧美一级| 欧美日韩一区在线播放| 久久精品国产成人av| 日本久久成人网| 图片区小说区区亚洲影院| 亚洲狠狠婷婷综合久久久| 小泽玛利亚一区二区三区视频| 羞羞答答一区二区| 激情久久av一区av二区av三区| 亚洲国产一区在线| 神马久久久久| 久久久亚洲人| 亚洲性线免费观看视频成熟| 国产极品美女高潮无套久久久 | 欧美怡红院视频| 欧美人与物videos另类| 精品国产免费无码久久久| 欧美日本亚洲韩国国产| 日韩一卡二卡三卡国产欧美| 91免费视频黄| xxxwww在线观看| 免费国产亚洲视频| 日韩中文字幕亚洲| 亚洲天堂一区二区在线观看| 国产精品剧情一区二区在线观看| 国内精品久久久久影院色| 久久久黄色av| 亚洲熟女一区二区三区| 国产精品蜜芽在线观看| 久久影视一区二区| 国产精品一 二 三| 亚洲男人的天堂在线视频| 不卡在线一区二区| 91麻豆精品国产自产在线观看一区 | 精品成人久久久| 香蕉视频一区二区三区| 欧美va亚洲va| 青青青在线播放| 交100部在线观看| 五月天一区二区三区| 日本不卡一区| 国产精品自产拍| 亚洲激情黄色| 日韩中文字幕视频在线| 国产又粗又猛又爽又黄的视频小说| 国产亚洲字幕| 日韩欧美在线播放| 狠狠干视频网站| 欧洲天堂在线观看| 国产一区二区三区四| 2019中文字幕免费视频| 四虎884aa成人精品| 久久综合成人| 亚洲激情在线观看视频免费| 狠狠操精品视频| 在线中文字幕视频观看| 一区二区三区四区在线| 日韩av电影免费播放| 丁香花免费高清完整在线播放| 日本亚洲三级在线| 97精品国产97久久久久久春色| 嘿嘿视频在线观看| 欧美成人基地| 亚洲视频在线视频| 中国黄色片视频| 伊人久久大香| 日本高清免费不卡视频| 给我免费播放片在线观看| 蜜桃视频在线观看www社区| 91日韩一区二区三区| 91久色国产| 一级黄色a毛片| 国产麻豆欧美日韩一区| 精品一区在线播放| 懂色av成人一区二区三区| 99久久夜色精品国产网站| 亚洲free性xxxx护士hd| 一级日韩一级欧美| 日韩va亚洲va欧美va久久| 91精品国产乱码久久久久久蜜臀| 国产美女久久久久久| 亚洲三级色网| 国产日韩欧美日韩| 自拍偷拍精品视频| 国产成人综合精品三级| 欧美一区二区三区四区夜夜大片| h片在线播放| 中文字幕一区二区三区乱码在线| 亚洲mv在线看| 91欧美在线视频| 国产无遮挡一区二区三区毛片日本| 久久久久久高清| 思思99re6国产在线播放| 欧美国产一区在线| 成年人看的毛片| 成人三级高清视频在线看| 欧美午夜精品一区二区蜜桃| 在线观看免费视频黄| 成人国产精品一级毛片视频| 国内精品中文字幕| 国产精品第二十页| 极品少妇一区二区三区| 久久噜噜噜精品国产亚洲综合 | 欧美区亚洲区| 国产综合色香蕉精品| 全部免费毛片在线播放网站| 亚洲午夜精品网| 男人天堂网站在线| 日本欧美电影在线观看| 亚洲综合区在线| av在线免费观看国产| 欧美日韩精品一区二区三区视频| 欧美三级电影精品| 久久久久xxxx| 136福利精品导航| 亚洲精品成人久久电影| 欧美人禽zoz0强交| 在线精品福利| 亚洲自拍欧美色图| 成人ww免费完整版在线观看| 欧美视频一区在线| 亚洲理论片在线观看| 成人午夜av| 奇门遁甲1982国语版免费观看高清| 午夜精品久久久久久久蜜桃| 美国三级日本三级久久99 | 国产成人一区二区三区影院在线| 国产一区不卡精品| 亚洲欧美国产精品桃花| japanese23hdxxxx日韩| 欧美视频在线不卡| 99精品欧美一区二区| 在线成人超碰| 55夜色66夜色国产精品视频| 亚洲第一黄色片| 91麻豆国产福利精品| 给我免费播放片在线观看| 激情亚洲另类图片区小说区| 国产亚洲精品久久久久久牛牛| 日韩黄色一级大片| 91丨porny丨中文| 黄色片久久久久| 国产亚洲电影| 国产精品美女网站| 亚洲国产精品视频在线| 夜夜精品视频一区二区 | 亚洲欧美日韩视频一区| а天堂中文在线资源| 免费国产亚洲视频| 三年中文高清在线观看第6集| 精品一区二区三区中文字幕| 亚洲免费人成在线视频观看| aaaaaa毛片| 成人一区在线看| 亚洲电影网站| 精品中文字幕一区二区三区四区| 欧美成人亚洲成人| 好男人www在线视频| 丰满岳妇乱一区二区三区| 亚洲一二三av| 在线免费高清一区二区三区| 久久久久久久有限公司| 日本欧美一区| 欧美另类极品videosbest最新版本 | 亚洲欧洲日本精品| 国产劲爆久久| 久久伊人91精品综合网站| 中文字幕在线欧美| 中文字幕一区av| 国产精品扒开腿做爽爽爽a片唱戏 亚洲av成人精品一区二区三区 | 成人羞羞国产免费| 久久久久久女乱国产| 亚洲h在线观看| 亚洲码无人客一区二区三区| 久久国内精品自在自线400部| 国产91在线亚洲| 国产精品一区高清| 91传媒免费看| 欧美精品高清| 亚洲精选一区二区| 在线观看毛片视频| 亚洲福利国产精品| 久草视频福利在线| 玖玖在线精品| 黄色一级大片免费| 成人午夜av| 久久国产精品精品国产色婷婷| av在线播放一区| 韩国三级日本三级少妇99| 日本美女在线中文版| 亚洲精品少妇网址| 国产av无码专区亚洲av麻豆| 亚洲狠狠丁香婷婷综合久久久| 扒开jk护士狂揉免费| 久久久久久久高潮| 欧美一区二区视频在线| 88久久精品| 国产伦精品免费视频| 男人天堂久久久| 亚洲欧美精品中文字幕在线| 亚洲va欧美va| 91精品国产免费| 青青草在线观看视频| 国产成人精品在线看| 一女二男3p波多野结衣| 香蕉亚洲视频| 色综合影院在线观看| 国内精品麻豆美女在线播放视频 | 日韩在线视频观看正片免费网站| 中文字幕视频二区| 中文字幕五月欧美| 国产5g成人5g天天爽| 欧美福利网址| 国产专区一区二区| 国产不卡网站| 中文字幕亚洲综合久久| 精品国产伦一区二区三区| 欧美三级资源在线| 国产视频1区2区| 黑人精品xxx一区一二区| 国产一级一级片| 一区二区三区.www| 色在线观看视频| 97久久超碰国产精品电影| 北条麻妃在线视频| 国产午夜精品一区二区三区欧美 | 中文字幕视频三区| 欧美1级日本1级| 中文字幕色一区二区| 91精品国产自产在线丝袜啪 | 免费看一级大黄情大片| 精品产国自在拍| 91在线色戒在线| 日韩精品美女| 久久精品欧美视频| 91社区在线| 久久精品国产91精品亚洲 | 羞羞答答一区二区| 欧美精品一区二区三区在线四季| 曰本一区二区三区视频| 成人久久久久久久| 偷拍自拍亚洲| 欧美一级电影久久| 黄视频免费在线看| 日韩av男人的天堂| 性欧美videoshd高清| 九九久久国产精品| gogo久久| 久久国产精品影片| www国产在线观看| 欧美日韩第一页| 黄色在线观看www| 国产精品久久av| 草草在线视频| 日本欧美精品在线| 美女网站视频一区| 成人欧美在线视频| 精品亚洲精品| 亚洲国产精品视频一区| 综合天堂av久久久久久久| 岛国大片在线播放| 丝袜美腿亚洲综合| 热久久久久久久久| 成人免费毛片app| 日韩丰满少妇无码内射| 一区免费观看视频| 日本三级午夜理伦三级三| 亚洲欧美日韩小说| 成人18视频免费69| 亚洲大片在线观看| 欧美日韩在线视频播放| 欧美精品电影在线播放| 亚洲一区精品在线观看| 欧美精品一区二区三区高清aⅴ | 日韩精品综合一本久道在线视频| 中文av免费观看| 欧美电视剧在线看免费| 免费a级毛片在线观看| 久久伊人91精品综合网站| 欧美a级在线观看| 91色在线视频| 深夜福利久久| 欧美一二三四五区| 午夜精品偷拍| 别急慢慢来1978如如2| 国产福利精品导航| 成年人在线免费看片| 亚洲成a人片综合在线| 伊人色综合久久久| 亚洲欧美一区二区三区久久| 国产精品偷拍| 69久久夜色精品国产69| 外国成人毛片| 日本一区免费观看| 亚洲欧洲另类| 色婷婷综合在线观看| 国产精品美女久久久久久久久| 欧美人与禽zoz0善交| 精品国产31久久久久久| a毛片在线免费观看| 色阁综合伊人av| 中文字幕一区久| 国产精品视频免费一区二区三区| 色琪琪久久se色| 国产一二三四五| 女人香蕉久久**毛片精品| 99视频精品免费| 91在线小视频| 久久精品视频9| 日韩欧美区一区二| 国产一二区在线| 成人a在线视频| 日产精品一区二区| 久久久久久久片| 久久亚洲精精品中文字幕早川悠里| 欧美成人免费看| 日韩一区二区免费在线电影| 国产日产一区二区| 91视频九色网站| 91精品成人| 久色视频在线播放| 懂色av噜噜一区二区三区av| 顶臀精品视频www| 欧美丰满嫩嫩电影| 老司机在线永久免费观看| 国产精品亚洲аv天堂网| 第九色区aⅴ天堂久久香| 亚洲少妇久久久| 国产成人亚洲综合a∨婷婷图片| 日本不卡一区视频| 亚洲国产成人av| 亚洲精品视频专区| 久久久久久久久国产精品| 风间由美中文字幕在线看视频国产欧美 | 中文字幕亚洲一区二区va在线| 在线免费看91| 久久深夜福利免费观看| japansex久久高清精品| 黄色网zhan| 成人精品视频一区二区三区 | 91最新在线观看| 国产成人午夜片在线观看高清观看| 91n在线视频| 91精品国产综合久久久蜜臀粉嫩| 中中文字幕av在线| 国产chinese精品一区二区| 日韩成人免费| 色18美女社区| 亚洲丰满少妇videoshd| 天堂中文资源在线| 国产精品视频久久久| 影音先锋日韩精品| 精品国产av色一区二区深夜久久 | 麻豆一区二区三区| 波多野结衣亚洲一区二区| 精品国产污网站| 日本黄色免费在线| 亚洲免费在线精品一区| 国产一区二区91| 日韩精品一区二区三区国语自制| 国产视频亚洲视频| 日本免费成人| 日韩精品在线中文字幕| 久久这里只精品最新地址| 国产精品久久久久久久成人午夜 | 天然素人一区二区视频| 婷婷视频在线播放| 92国产精品观看| 国产精品自拍电影| 欧美亚洲激情在线| 91九色精品国产一区二区| 日本美女视频网站| 欧美性猛片aaaaaaa做受| 色呦呦在线观看视频| 日韩国产伦理| va亚洲va日韩不卡在线观看| 中文字幕精品一区二区精| 性欧美在线看片a免费观看| 久久福利综合|