定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、
调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age赋值。求可运行完整代码,跪求哪位高手,...
调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age赋值。求可运行完整代码,跪求哪位高手,不胜感激!!!急 急、、、、、、
展开
2个回答
展开全部
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;
}
}
/**
* 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
展开全部
可以去相关电脑技术论坛求助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询