Java反射

一、反射:

1.概念:

反射,即:動(dòng)態(tài)獲取類的信息,以及動(dòng)態(tài)調(diào)用對(duì)象的方法的功能。

2.作用:

  • 在運(yùn)行時(shí)判斷任意一個(gè)對(duì)象所屬的類
  • 在運(yùn)行時(shí)構(gòu)造任意一個(gè)類的對(duì)象
  • 在運(yùn)行時(shí)判斷任意一個(gè)類所具有的成員變量和方法
  • 在運(yùn)行時(shí)調(diào)用任意一個(gè)對(duì)象的方法
  • 可以生成動(dòng)態(tài)代理
    通過(guò)Java反射機(jī)制,可以在程序中訪問(wèn)已經(jīng)裝載到j(luò)vm中的Java對(duì)象的描述,以實(shí)現(xiàn)訪問(wèn)、檢測(cè)和修改描述Java對(duì)象本身信息的功能。Java反射機(jī)制很強(qiáng)大。其中,java.lang.reflect包中提供了對(duì)該功能的支持。

二、實(shí)現(xiàn)反射獲取類的方法:

方式一 : 通過(guò)Class.forName("類名字符串")獲取(最為常用的方法)

//類名字符串是“包名+類名”,返回Class的對(duì)象。
Class class = Class.forName("cheneyHao.Student");

方式二 : 通過(guò)示例對(duì)象的getClass()方法獲取

//先創(chuàng)建一個(gè)對(duì)象,在調(diào)用對(duì)象的getClass()方法。(任何一個(gè)Java對(duì)象都會(huì)有g(shù)etClass()方法)
Student student = new Student();
Class class = student.getClass();

方法三 : 通過(guò) .class 獲取

//通過(guò)類名.class,返回Class對(duì)象。(每個(gè)類都有Class屬性)
Class class = Student.class;

未完待續(xù),小生趕編中~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 本篇文章已授權(quán)微信公眾號(hào)guolin_blog(郭霖)獨(dú)家發(fā)布 轉(zhuǎn)載請(qǐng)注明出處:https://www.jians...
    ming152閱讀 6,838評(píng)論 4 79
  • 對(duì)于Java反射,平常工作中雖然經(jīng)常用到,但一直以來(lái)都沒有系統(tǒng)總結(jié)過(guò),所以趁著目前有空總結(jié)一下,加深一下理解。 如...
    西華子閱讀 1,349評(píng)論 0 10
  • 昨天睡到半夜,握著筱曉的小手時(shí),發(fā)現(xiàn)她手心有些發(fā)熱,一模額頭,發(fā)現(xiàn)額頭也有些燙,心里頓覺一緊,趕緊拿溫度計(jì)測(cè)了一下...
    玉露君閱讀 204評(píng)論 1 0
  • 近六月的天氣,狂風(fēng)大作,是為屈原怒吼,還是在宣示春天還沒有過(guò)去。 三天的假期轉(zhuǎn)眼即逝,無(wú)非也就是比大禮拜多了一天,...
    簡(jiǎn)單點(diǎn)就很好啦閱讀 177評(píng)論 0 0