黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專(zhuān)注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java基礎(chǔ)學(xué)習(xí):java反射機(jī)制原理

Java基礎(chǔ)學(xué)習(xí):java反射機(jī)制原理

更新時(shí)間:2020-04-28 14:34:53 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3255次

    一反射機(jī)制的概念:

    指在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)類(lèi),都能夠知道這個(gè)類(lèi)的所有屬性和方法,對(duì)于任意一個(gè)對(duì)象,都能調(diào)用它的任意一個(gè)方法.這種動(dòng)態(tài)獲取信息,以及動(dòng)態(tài)調(diào)用對(duì)象方法的功能叫java語(yǔ)言的反射機(jī)制.

    二反射機(jī)制的應(yīng)用:

    生成動(dòng)態(tài)代理,面向切片編程(在調(diào)用方法的前后各加棧幀).

    三反射機(jī)制的原理:

    1首先明確的概念:一切皆對(duì)象----類(lèi)也是對(duì)象.

    2然后知道類(lèi)中的內(nèi)容:modifierconstructorfieldmethod.

    3其次明白加載:當(dāng)Animal.class在硬盤(pán)中時(shí),是一個(gè)文件,當(dāng)載入到內(nèi)存中,可以認(rèn)為是一個(gè)對(duì)象,是java.lang.class的對(duì)象.

    當(dāng)運(yùn)行程序時(shí),實(shí)例化時(shí)產(chǎn)生Animal.class對(duì)象,這兩個(gè)對(duì)象有什么區(qū)別?

    如下圖,上面的Animal.class對(duì)象是java.lang.class的對(duì)象;下面的對(duì)象是Animal.class實(shí)例化產(chǎn)生的對(duì)象

Java基礎(chǔ)學(xué)習(xí):java反射機(jī)制原理

    4當(dāng)Animal.class載入到JVM中,JVM是怎么識(shí)別Animal.class中含有的方法,成員變量,構(gòu)造方法等內(nèi)容?

    如下圖,Animal.class實(shí)例化對(duì)象中成員變量毛色=紅色;

    加載到內(nèi)存的時(shí)候,毛色=null,是在實(shí)例化的時(shí)候毛色被賦值為紅色.

Java基礎(chǔ)學(xué)習(xí):java反射機(jī)制原理

    Animal.class中毛色這個(gè)屬性對(duì)于java.lang.class來(lái)說(shuō),是Field的一個(gè)屬性值,毛色對(duì)于java.lang.class來(lái)說(shuō)也是一個(gè)對(duì)象.這也是反射機(jī)制動(dòng)態(tài)獲取信息,以及動(dòng)態(tài)調(diào)用對(duì)象方法的原因.

    下圖是Java.lang.class中的方法

image.png

Java基礎(chǔ)學(xué)習(xí):java反射機(jī)制原理

    在java.lang.class中,毛色是Field的一個(gè)屬性值,Animal中所有的方法,成員變量,構(gòu)造器,修飾符都是按照java.lang.class中的標(biāo)準(zhǔn)去寫(xiě)的,否則會(huì)在編譯的時(shí)候報(bào)錯(cuò)

Java基礎(chǔ)學(xué)習(xí):java反射機(jī)制原理g

    在java.lang.class中,毛色是Field的一個(gè)屬性值,Animal中所有的方法,成員變量,構(gòu)造器,修飾符都是按照java.lang.class中的標(biāo)準(zhǔn)去寫(xiě)的,否則會(huì)在編譯的時(shí)候報(bào)錯(cuò)四反射機(jī)制簡(jiǎn)單實(shí)例代碼

    publicclass_14_ReflectTest07

    {

    publicstaticvoidmain(String[]args)throwsException{

    //1.獲取類(lèi)

    Classc=Class.forName("_12_CustomerService");

    //獲取某個(gè)特定的方法

    //通過(guò):方法名+形參列表

    Methodm=c.getDeclaredMethod("login",String.class,String.class);

    //通過(guò)反射機(jī)制執(zhí)行l(wèi)ogin方法.

    Objecto=c.newInstance();

    //調(diào)用o對(duì)象的m方法,傳遞"admin""123"參數(shù),方法的執(zhí)行結(jié)果是retValue

    ObjectretValue=m.invoke(o,"admin","123");

    System.out.println(retValue);//true

    }

    }

    publicclass_12_CustomerService

    {

    //登錄

    publicbooleanlogin(Stringname,Stringpwd){

    if("admin".equals(name)&&"123".equals(pwd)){

    returntrue;

    }

    returnfalse;

    }

    //退出

    publicvoidlogout(){

    System.out.println("系統(tǒng)已安全退出!");

    }

    }

Java基礎(chǔ)學(xué)習(xí):java反射機(jī)制原理

 以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java基礎(chǔ)學(xué)習(xí):java反射機(jī)制原理”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: www.怡红院| 伦理剧在线中文 | 高清黄色一级片 | 天天操综合视频 | 999成人国产精品 | 中文无码日韩欧 | 最新中文字幕在线播放 | 在线视频一区二区三区四区 | 天天干天天澡 | 欧美福利网站 | 日韩毛片网站 | 日b视频在线观看 | 午夜视频在线观看视频 | 91精品导航在线观看 | 91视频一88av | 成年视频在线观看 | 黄色大片久久 | 宅男色影院 | 又黄又免费的视频 | 2020国产成人免费视频 | 2020国产成人久久精品 | 亚洲综合久久久久久888 | 色噜噜狠狠色综合免费视频 | 处videossex第一次hd| 亚洲精品高清在线观看 | 日本欧美一区二区三区免费不卡 | 亚洲综合20p | 香蕉视频3 | 操极品女神| 欧美视频日韩视频 | 亚洲精品动漫在线 | 欧美性天天影院欧美狂野 | 国产高清在线精品一区二区三区 | 日本天堂免费观看 | 欧美一区二区三区精品 | 欧美很很干| 在线观看啊啊啊 | 亚洲无线码一区二区三区 | 亚洲国产欧美在线不卡中文 | 日韩黄色免费 | 欧美成人综合视频 |