網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

field獲取值|java

欄目: IT科技 / 發佈於: / 人氣:1.55W

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

很多朋友都想知道java field怎麼獲取值?下面就一起來了解一下吧~

定義

public Object get(Object obj)

1. 如果字段不是靜態字段的話,要傳入反射類的對象.如果傳null是會報java.lang.NullPointerException 

2. 如果字段是靜態字段的話,傳入任何對象都是可以的,包括null 

java field獲取值

例子

1. 獲取屬性的值

public static void main(String[] args) throws Exception {    //使用反射第一步:獲取操作類FieldDemo所對應的Class對象    Class < ?>cls = Class.forName("com.testReflect.FieldDemo");    //使用FieldDemo類的class對象生成 實例    Object obj = cls.newInstance();    //透過Class類中getField(String name): 獲取類特定的方法,name參數指定了屬性的名稱    Field field = cls.getField("num1");    //拿到了Field類的實例後就可以調用其中的方法了    //方法:get(Object obj) 返回指定對象obj上此 Field 表示的字段的值    System.out.println("屬性值:  " + field.get(obj));    //方法: set(Object obj, Object value)  將指定對象變量上此 Field 對象表示的字段設定爲指定的新值    field.set(obj, 55);    System.out.println("修改屬性值後 --> get(Object obj):  " + field.get(obj));}

2. get()傳值

class A {       int fild=3;      static int staticFild=4;  } public class FiledTest  {      public static void main(String[] args) throws Exception      {          Field field=A.class.getDeclaredField("fild");          int a= (Integer)field.get(new A()) ;  //        int c= (Integer)field.get(null) ; //不是靜態字段不能傳null          System.out.println(a);            Field staticfield=A.class.getDeclaredField("staticFild");          int b= (Integer)staticfield.get("") ;          int d= (Integer)staticfield.get(null) ;          System.out.println(b);          System.out.println(d);      }  }

執行結果:

3 4 4

Tags:java 獲取 field