在java的反射中,通過字段獲取對象,是通過 public Object get(Object obj) 字段不是靜態字段的話,要傳入反射類的對象.如果傳null是會報 java.lang.NullPointerException 但是如果字段是靜態字段的話,傳入任何對象都是可以的,包括null 下面是例子: package com.huangyunbin; import java.lang.reflect.Field; 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); } } class A { int fild=3; static int staticFild=4; } 結果是 3 4 4
轉載自:https://blog.csdn.net/moakun/article/details/80577194