黑马程序员技术交流社区
标题:
这题你们怎么解?? 题意给我的感觉的是要用反射但是不知道他到底想作甚吗
[打印本页]
作者:
dsh
时间:
2014-10-4 11:27
标题:
这题你们怎么解?? 题意给我的感觉的是要用反射但是不知道他到底想作甚吗
package com.heima;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
/*
* 4、 写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.
* public void setProperty(Object obj, String propertyName, Object value){
*
* }
*/
public class Test04 {
static Property propertyNeme;
public static void main(String[] args) throws Exception {
// 根据题意创建两个对象
// 这里使用反射应该设置配置文件,从配置文件里获得对象名的但是在这里,就直接给出对象来动态获取对象名
// 提供对象名称的字符串
String className = "com.heima.Property";
Class clazz = Class.forName(className);
// 提供未知对象的属性名称
String fieldName = "propertyNeme";
Field field = clazz.getDeclaredField(fieldName);
// 获取指定的构造器。获取Person类中两个参数string,int的构造函数。
Constructor cons = clazz.getConstructor(String.class);
// 通过对象名称创建出对象obj value
Object obj = cons.newInstance("lufei");
Object value = cons.newInstance("namei");
// Property obj = new Property("lufei");
setProperty(obj, fieldName, value);
//System.out.println(obj.toString());
}
public static void setProperty(Object obj, String propertyName, Object value)
throws Exception {
/*
* Field f = obj.getClass().getDeclaredField(propertyName);
* f.setAccessible(true); f.set(obj, value); }
*/
}
class Property {
// 给对象显示初始化
private String propertyNeme;
public Property(String propertyNeme) {
super();
this.propertyNeme = propertyNeme;
}
public Property() {
super();
// TODO Auto-generated constructor stub
}
public String getPropertyNeme() {
return propertyNeme;
}
public void setPropertyNeme(String propertyNeme) {
this.propertyNeme = propertyNeme;
}
}
}
作者:
马嘉
时间:
2014-10-4 14:55
完全没明白什么意思,是入学考试吗
作者:
马嘉
时间:
2014-10-4 14:59
是不是应该用到暴力访问呀
作者:
zz_job
时间:
2014-10-4 20:02
同问 这是入学考试么?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2