java反射问题,急急急急急急!!!!!!!!!!

。定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调用setNam...
定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age
展开
 我来答
bauble1213
2011-07-22 · TA获得超过558个赞
知道小有建树答主
回答量:678
采纳率:0%
帮助的人:904万
展开全部
是这个意思吧:

import java.lang.reflect.Constructor ; // 导入反射机制包
class Person{
private String name ; // name属性
private int age ; // age属性
public Person(String name,int age){
this.setName(name) ;
this.setAge(age);
}
public void setName(String name){
this.name = name ;
}
public void setAge(int age){
this.age = age ;
}
public String getName(){
return this.name ;
}
public int getAge(){
return this.age ;
}
public String toString(){ // 覆写toString()方法
return "姓名:" + this.name + ",年龄:" + this.age ;
}
};
public class InstanceDemo03{
public static void main(String args[]){
Class<?> c = null ; // 声明Class对象
try{
c = Class.forName("org.test.demo15.instancedemo.Person") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
Person per = null ; // 声明Person对象
Constructor<?> cons[] = null ;
cons = c.getConstructors() ;
try{
// 第一个数组
per = (Person)cons[0].newInstance("zsk",30) ; // 实例化对象
}catch(Exception e){
e.printStackTrace() ;
}
System.out.println(per) ; // 内容输出,调用toString()

per.setName("zsk") ; // 设置姓名
per.setAge(30) ; // 设置年龄
System.out.println(per) ; // 内容输出,调用toString()

}
};
melord
2011-07-22 · TA获得超过367个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:214万
展开全部
package abc;

public class Person {
private String name;
// why public? as your requirement
public int age;

public Person() {
name = "";
}

public Person(String name, int age) {
this.name = name;
this.age = age;
}

@Override
public String toString() {
return "name=" +name + ";age=" +age;
}
... getter/setter
public class PersonTest {

public static void main(String[] args) throws Exception {
// load class
Class<?> clz = Class.forName("abc.Person");
// default constructor, equals new Person();
Object person1 = clz.newInstance();
// full constructor, equals new Person("Mary",13);
Object person2 = clz.getConstructor(java.lang.String.class,
int.class).newInstance("Mary", 13);
System.out.println(person2);

// equals person1.setName("Lily");
Method setName = clz.getMethod("setName", java.lang.String.class);
setName.invoke(person1, "Lily");

// equals person1.age = 12;
Field ageField = clz.getField("age");
ageField.set(person1, 12);

System.out.println(person1);
}
}

results:
name=Mary;age=13
name=Lily;age=12
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式