1. 程式人生 > 實用技巧 >註解 與反射

註解 與反射

註解 與反射

什麼是註解?

在java1.5的時候加入,使用@註釋名,宣告的就是註解了

什麼是元註解?

負責註解其他註解,有4個
@Target:用於描述註解是使用範圍
@Retention:用於描述生命週期
@Document用於攜帶註釋
@Inherited:說明子類可以繼承父類中的該註解

什麼是反射

在執行期間使用物件名稱動態獲取物件的屬性和方法,進行操作

構建Class物件的有幾種方式?

1.Class.forName(類全限定名)
2.例項物件.getClass(); 需要一個建立好的物件來使用
3.類名.class;

類載入的作用

將class位元組碼檔案載入到記憶體中,將這些資料轉換成方法區的執行時資料結構,然後在堆中生成一個代表這個類的Class物件,作為方法區中類資料的訪問入口

通過反射修改屬性使用構造class方法

獲取物件Class c1=Class.forName(類全限定名)
通過方法獲取物件屬性
Field name=c1.getDeclaredField(“name”)
修改反射許可權
name.setAccessible(true)
修改屬性name.set(那個物件,“修改的值”)

獲取物件有幾種方法?

使用Class的newInstance()方法: 使用無參構造方法建立,沒有無參方法無法使用使用
Class的getDeclaredConstructor(有參構造器中的引數.class)構造器方法例子
Class c1=Class.forName(類全限定名)

Constructor c2 =c1.getDeclaredConstructor(int.class)返回一個構造器物件
c2.newInstance(傳參)獲取物件

什麼是ORM?

是物件關係對映.既 類中的屬性和資料庫表中的字成對應關係

通過反射獲得註解

通過類許可權名獲得類物件,通過類物件獲取註解
Annotations [] a=c1.getAnnotations()
獲得這個類上的註解通過這個註解可以獲取類上的註解值,和方法上的註解值
在這裡插入圖片描述