反射來自物理定義java
JAVA不是動態語言,但JAVA具備一個突出的動態語言機制:反射spa
反射的反射機制是指程序運行時動態自檢的能力:3d
- 可以得到任意一個類的所有信息,包含其屬性和方法
- 可以任意訪問一個對象的屬性和方法
反射能讓你執行一些正常狀況下沒法實現的操做:對象
- 訪問私有屬性和私有方法
- 不經過new關鍵字,而經過類名來實例化對象
JAVA反射API在:java.lang.reflect包下,經常使用有四個:blog
- Class:表示反射的核心類
- Method:表示類的方法
- Filed:表示類的屬性
- Constructor:表示類的構造方法
1.獲取類名get
2.獲取類的修飾符class
3.獲取父類bfc
1.建立對象方式一:newInstance():適用於無參構造反射
2.建立對象方式二:getConstructor():適用於全部公共的構造程序
3.建立對象方式三(類的構造方法私有時) 暴力獲取構造getDeclaredConstructor():適用於全部構造
1.從class對象中獲取類的屬性
2.訪問對象中的該屬性
1.從class對象中獲取類的方法
2.調用對象中的該方法
一、獲取有參的方法
2.獲取私有的方法