一、反射機(jī)制概述
1、反射機(jī)制背景概述
1)Reflection也就是反射 是Java被視為動(dòng)態(tài)(或準(zhǔn)動(dòng)態(tài))語(yǔ)言的一個(gè)關(guān)鍵性質(zhì)
2)反射機(jī)制指的是程序在運(yùn)行時(shí)能夠獲取任何類(lèi)的內(nèi)部所有信息
2、反射機(jī)制實(shí)現(xiàn)功能概述
1)只要給定類(lèi)的全名,即可通過(guò)反射獲取類(lèi)的所有信息。
2)反射可以在程序運(yùn)行時(shí)獲取任意一個(gè)對(duì)象所屬的類(lèi)對(duì)象。
3)在運(yùn)行時(shí)可以獲取到類(lèi)中所有屬性對(duì)象,并對(duì)其操作(包括私有屬性)。
4)在運(yùn)行時(shí)可以獲取到類(lèi)中、父類(lèi)中所有方法,并調(diào)用。
二、Class對(duì)象的機(jī)制與實(shí)現(xiàn)
1、Class對(duì)象概述
1)Class其實(shí)就是類(lèi)的類(lèi)型
2)字符串類(lèi)型就是String,整形類(lèi)型就是Integer,String和Integer類(lèi)型就是Class
2、Class對(duì)象的常用方法介紹
首先,我們新建一個(gè)Book類(lèi)
輸出:
class bean.Book
獲得類(lèi)中完整名稱(chēng):bean.Book
獲得類(lèi)中的所有屬性:[Ljava.lang.reflect.Field;@642b6fc7
獲得類(lèi)中所有的方法:[Ljava.lang.reflect.Method;@5fb7a531
獲得類(lèi)構(gòu)造方法:[Ljava.lang.reflect.Constructor;@11be650f
第二種:class bean.Book
第三種:class bean.Book
實(shí)例化后的類(lèi)對(duì)象:bean.Book@6adcc4e2