黑马程序员技术交流社区
标题:
getField()是否检查成员的权限
[打印本页]
作者:
heima_xyu
时间:
2014-7-1 09:48
标题:
getField()是否检查成员的权限
public class Demo {
/**
* 4、 写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.
public void setProperty(Object obj, String propertyName, Object value){
}
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//该题需要用到反射,为此我们新建Demo类,并在主函数创建对象d
Demo2 d=new Demo2();
//打印对象d的getStr方法,输出该方法返回的值
System.out.println(d.getStr());
//利用反射更改d对象的名为str的属性的值,改为“奇迹出现”
setProperty(d,"str","奇迹出现");
//输出更改后的str的结果
System.out.println(d.getStr());
}
public static void setProperty(Object obj, String propertyName, Object value){
//将传入的对象的字节码保存在clazz中
Class clazz=obj.getClass();
try {
/*获取对象名为传入的字符串的属性,注意:这里用到getFiled,
* 因此只能检查public的成员变量,该题中我定义的成员变量权限
* 是public,因此没有报告错误。(即使是default也会报告错误哦)
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2