java获取私有属性_java反射设置私有属性和获取属性

package com;

import java.lang.reflect.Field;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

public class TestBean {

private int age;

public static void main(String []args) throws InstantiationException, IllegalAccessException, SecurityException, NoSuchFieldException{

try {

Class> class1=Class.forName("com.TestBean");

Object tObject=class1.newInstance();

Field field=class1.getDeclaredField("age");

field.setAccessible(true); //设置私有属性范围

field.set(tObject, 10);

System.out.print(field.get(tObject));

try {

Method method=class1.getMethod("setAge", int.class);

method.invoke(tObject, 11);

Method getMethod=class1.getMethod("getAge");

System.out.println(getMethod.invoke(tObject));

} catch (NoSuchMethodException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalArgumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InvocationTargetException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-08-05 14:19

浏览 6765

评论


版权声明:本文为weixin_42347739原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。