在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
分享到:
相关推荐
Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中...
import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; public class ReflectionTest { public static void main(String[] args) { Class c = null; try { ...
Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class); String str = (String)constructor.newInstance(new StringBuffer("abc")); System.out.println(str); ...
Object object = field.get(null);//字段country取值 System.out.println(object); 2. 注解: 1.概念: 就是一个标签,有标签后,就具有某一些标签的特性。 本质就是跟类、接口、枚举...
Constructor、Field、Method都是继承于AccessibleObject,对应实例调用 setAccessible(true)就关闭该开关 如上面的例子,在代码 cts[i].newInstance(null);行前调用上述方法: cts[i].setAccessible(true); 这样就...
{10.1.1}Field}{145}{subsection.10.1.1} {10.1.2}Method}{145}{subsection.10.1.2} {10.1.3}Constructor}{145}{subsection.10.1.3} {10.2}其他Java相关}{146}{section.10.2} {11}项目}{148}{chapter.11} {...
MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...
methodName, ...)调用一个Java的实例方法getStatic(className, fieldName)获取一个java的静态字段setStatic(className, fieldName, value)设置一个java的静态字段get(receiver, fieldName)获取一个java的实例字段...
Puzzle 48: All I Get Is Static Puzzle 49: Larger Than Life Puzzle 50: Not Your Type Puzzle 51: What's the Point? Puzzle 52: Sum Fun Puzzle 53: Do Your Thing Puzzle 54: Null and Void ...
}读取APK文件,由于这个库 packer-helper 需要同时给Gradle插件和Android项目使用,所以不能添加Android相关的依赖,但是又需要读取自身APK文件的路径,使用反射实现:// for android code private static ...