定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、

调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age赋值。求可运行完整代码,跪求哪位高手,... 调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age赋值。求可运行完整代码,跪求哪位高手,不胜感激!!!急 急、、、、、、 展开
 我来答
mb629
2013-10-10
知道答主
回答量:1
采纳率:0%
帮助的人:1446
展开全部
package question2;
/**
* Question2:定义一个标准的JavaBean,名叫Person,
* 包含属性name、age。使用反射的方式创建一个实例、
* 调用构造函数初始化name、age,使用反射方式调用setName
* 方法对名称进行设置,不使用setAge方法直接使用反射方式
* 对age赋值。
*/
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class JavaBeanTest {
public static void main(String[] args) {
try {
// 调用构造函数初始化
Person person = Person.class
.getConstructor(String.class, int.class).newInstance(
"zhangsan", 87);
// 打印
System.out.println("name:" + person.getName() + "--age:"
+ person.getAge());
// 获得名为setName的方法
Method setNameMethod = Person.class.getMethod("setName",
String.class);
// 设置键值
setNameMethod.invoke(person, "lisi");
// 获得方法
Method setAgeMethod = Person.class.getMethod("setAge", int.class);
// 设置键值
setAgeMethod.invoke(person, 55);
// 打印
System.out.println("name:" + person.getName() + "--age:"
+ person.getAge());
} catch (IllegalArgumentException e) {

e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-07
展开全部
可以去相关电脑技术论坛求助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式