本帖最后由 赵玮_Tom 于 2012-5-4 14:39 编辑
- import java.lang.reflect.*;
- class Person// 定义Person类
- {
- private String name;
- private int age;
- Person(String name, int age)
- {
- this.name=name;
- this.age=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()
- {
- return "姓名:"+this.name+"; 年龄:"+this.age;
- }
- }
- class InstanceDemo2
- {
- public static void main(String args [])throws Exception
- {
- Class<?> c1 = Class.forName("Person");
- Constructor<?> [] cons = c1.getConstructors();//得到Person类中所有的构造方法
- //Person类中只有一个构造方法,所以cons[0]代表这个唯一的构造方法
- //运行出现错误:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
- // at InstanceDemo2.main(InstanceDemo2</FONT><FONT color=red>.java:40)到底是为什么?
- Person per = (Person)cons[0].newInstance("lisi", 30);
- System.out.println(per.toString());
复制代码 |