黑马程序员技术交流社区
标题:
各位大侠帮忙看一下
[打印本页]
作者:
帅气的冬瓜
时间:
2013-12-9 21:51
标题:
各位大侠帮忙看一下
本帖最后由 帅气的冬瓜 于 2013-12-10 10:10 编辑
import java.lang.reflect.*;
public class Test7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
//初始化构造函数
//Class cla=Class.forName("com.itheima.Person");
//Person p=(Person)cla.newInstance();
Person p=Person.class.getConstructor(String.class,int.class).newInstance("wangwu",54);
//这句是不是有问题,老是报错。麻烦运行一下,怎样修改
System.out.println("name:"+p.getAge()+"age:"+p.getAge());//打印属性值
Method SetNameMethod=Person.class.getMethod("setName", String.class);//获取方法
SetNameMethod.invoke(p, "zhangsan");
Method getAgeMethod=Person.class.getMethod("setAge", int.class);
getAgeMethod.invoke(p, "34");
System.out.println("name:"+p.getName()+"age="+p.getAge());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class Person{
private String name;
private int age;
Person(String name,int age)
{
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;
}
public String toString()
{
return name+age;
}
}
作者:
kongling
时间:
2013-12-9 22:16
getConstructor(),方法返回共有的构造器。
getDeclaredConstructor(),返回所有构造器。
你可以将Person(String name,int age){}
改成public Person(String name,int age){}
或者调用Person.class.getDeclaredConstructor(),就可以了
作者:
一碗小米周
时间:
2013-12-9 23:57
本帖最后由 一碗小米周 于 2013-12-9 23:59 编辑
import java.lang.reflect.*;
public class Test7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
//初始化构造函数
//Class cla=Class.forName("com.itheima.Person");
//Person p=(Person)cla.newInstance();
//Person p=Person.class.getConstructor(String.class,Integer.class).newInstance("wangwu",54); //这句是不是有问题,老是报错。麻烦运行一下,怎样修改
复制代码
作者:
帅气的冬瓜
时间:
2013-12-10 10:05
kongling 发表于 2013-12-9 22:16
getConstructor(),方法返回共有的构造器。
getDeclaredConstructor(),返回所有构造器。
十分感谢!
作者:
Crist
时间:
2013-12-10 10:27
kongling 发表于 2013-12-9 22:16
getConstructor(),方法返回共有的构造器。
getDeclaredConstructor(),返回所有构造器。
下面明显改不了punblic 阿! 上面的类用了public 修饰怎么 还能继续使用public 修饰呢?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2