java獲取反射機制的3種方法總結(jié)
反射機制的概念:
指在運行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法,對于任意一個對象,都能調(diào)用它的任意一個方法.這種動態(tài)獲取信息,以及動態(tài)調(diào)用對象方法的功能叫java語言的反射機制.
反射機制的應(yīng)用:
生成動態(tài)代理,面向切片編程(在調(diào)用方法的前后各加棧幀).
反射機制的原理:
1 首先明確的概念: 一切皆對象----類也是對象.
2 然后知道類中的內(nèi)容 :modifier constructor field method.
3 其次明白加載: 當Animal.class在硬盤中時,是一個文件,當載入到內(nèi)存中,可以認為是一個對象,是java.lang.class的對象.
java 獲取反射常使用的三種方式:
1.通過new對象實現(xiàn)反射機制
2.通過路徑實現(xiàn)反射機制
3.通過類名實現(xiàn)反射機制
- 通過Object類的getClass方法來獲取
- 使用.class的方式
- 使用Class.forName方法
例子:
建立一個學生類:
public class Student { private int id; String name; protected boolean sex; public float score; }
獲取反射機制
public class Get { //獲取反射機制三種方式 public static void main(String[] args) throws ClassNotFoundException { //方式一(通過建立對象) Student stu = new Student(); Class classobj1 = stu.getClass(); System.out.println(classobj1.getName()); //方式二(所在通過路徑-相對路徑) Class classobj2 = Class.forName("fanshe.Student"); System.out.println(classobj2.getName()); //方式三(通過類名) Class classobj3 = Student.class; System.out.println(classobj3.getName()); } }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
相關(guān)文章
JavaWeb項目實現(xiàn)文件上傳動態(tài)顯示進度實例
本篇文章主要介紹了JavaWeb項目實現(xiàn)文件上傳動態(tài)顯示進度實例,具有一定的參考價值,有興趣的可以了解一下。2017-04-04通過jenkins發(fā)布java項目到目標主機上的詳細步驟
這篇文章主要介紹了通過jenkins發(fā)布java項目到目標主機上的詳細步驟,發(fā)布java項目的步驟很簡單,通過拉取代碼并打包,備份目標服務(wù)器上已有的要發(fā)布項目,具體內(nèi)容詳情跟隨小編一起看看吧2021-10-10java.sql.Date和java.util.Date的區(qū)別詳解
Java中有兩個Date類,一個是java.util.Date通常情況下用它獲取當前時間或構(gòu)造時間,另一個是java.sql.Date是針對SQL語句使用的,它只包含日期而沒有時間部分,這篇文章主要給大家介紹了關(guān)于java.sql.Date和java.util.Date區(qū)別的相關(guān)資料,需要的朋友可以參考下2023-03-03