Java反射实例分析

来源:互联网 发布:c语言中随机数怎么写 编辑:程序博客网 时间:2024/05/18 09:05

1.反射实例分析:

反射的实体类:

package util;public class Test {public String name;public String sex;private String gender;public Test(){System.out.println("无参构造器");}public Test(String name,String gender){this.name = name;this.setGender(gender);System.out.println("含参构造器:"+name+"="+gender);}void run(){System.out.println("普通方法");}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}}
2. 测试实体类方法
package util;import java.lang.reflect.Field;public class classTest {    public static void main(String[] args) throws ReflectiveOperationException, Exception {        Class<?> test = Class.forName("util.Test");        System.out.println("*********************字段********************");        System.out.println("===========method 1====================");        Field[] fields = test.getDeclaredFields();        for (Field field : fields) {            System.out.println(field.getName());        }        System.out.println("===========method 2====================");        System.out.println(test.getField("name").getName());//        System.out.println("private field use getField():"+test.getField("gender").getName());//java.lang.NoSuchFieldException        System.out.println("priavte field use getDeclaredField():"+test.getDeclaredField("gender").getName());            }}结果: