更新時間:2020-10-22 17:06:00 來源:動力節點 瀏覽1468次
我們在前面的文章中學習了java反射機制是什么的問題,相信大家對反射機制有了全面的理解。在java中使用反射機制,會提高程序的靈活性和擴展性,還能節省資源,因此在java編程中使用好反射是重要的。今天來學習java反射field用法的內容。
反射是一種常用的技術手段,通過加載類的字節碼的方式來獲取相關類的一些信息,比如成員變量、成員方法等。學習java反射field用法,要知道field是什么,Java反射Field是什么呢?Field是一個類,位于java.lang.reflect包下。在java反射field類描述的是類的屬性信息,功能包括:獲取當前對象的成員變量的類型;對成員變量重新設置值。
Java反射field類如何使用呢?有四種方法可以獲取到field類對象,如下:
1、Class.getFields():獲取類中public類型的屬性, 返回一個包含某些field對象的數組,該數組包含此Class對象所表示的類或接口的所有可訪問公共字段。
2、getDeclaredFields():獲取類中所有屬性(public protect default private),但是不包括繼承的屬性,返回field對象的一個數組。
3、getField(String name):獲取類特定的方法,name 參數指定了屬性的名稱。
4、getDeclaredField(String name):獲取類特定的方法,name參數指定了屬性的名稱。
常用Java反射field用法的對象方法有:
1、獲取變量的類型
(1)Field.getType(): 返回這個變量的類型
(2)Field.getGenericType: 如果當前屬性有簽名屬性類型就返回,否則就返回Field.getType()
(3)isEnumConstant(): 判斷這個屬性是否是枚舉類
2、 獲取成員變量的修飾符
Field.getModifiers():以整數形式返回此 Field 對象標識的字段的java 語言修飾符。
3、獲取和修改成員變量的值
(1)getName():獲取屬性的名字
(2)get(Object obj):返回指定對象obj上此field表示的字段值
(3)set(Object obj, Object value);將指定對象變量上此field 對象表示的字段設置為指定的新值
4、isAnnotationPresent(Class annotationClass):如果該字段對象上有指定類型的注解,則返回true,否則為false
5、getAnnotation(Class annotationClass):如果該字段對象存在指定類型的注解,則返回該注解,否則返回null
總結下來,在java反射field用法就是描述類的屬性信息,field用法功能主要就是獲取當前對象的成員變量的類型和對成員變量重新設值。
程序員們在編程的時候,會經常出現需要對特定對象轉換成想要的json對象的情況,這個時候就會使用java反射field來實現,所以java反射field用法是需要掌握的,希望大家可以認真學習,并通過相關的java教程來學習更多File類常用操作,提高自己的java技能。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習