java反射问题,急急急急急急!!!!!!!!!!
。定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调用setNam...
。
定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age 展开
定义一个标准的JavaBean,名叫Person,包含属性name、age。使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,不使用setAge方法直接使用反射方式对age 展开
2个回答
展开全部
是这个意思吧:
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()
}
};
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()
}
};
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询