您的位置:首页 > 编程语言 > Java开发

java反射的field.get(null)

2016-04-10 22:27 344 查看
http://huangyunbin.iteye.com/blog/1942365

在java的反射中,通过字段获取对象,是通过 

Java代码  


public Object get(Object obj)  

字段不是静态字段的话,要传入反射类的对象.如果传null是会报 

java.lang.NullPointerException 

但是如果字段是静态字段的话,传入任何对象都是可以的,包括null 

下面是例子: 

Java代码  


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;  

}  

结果是 





4
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java