当前位置: 代码迷 >> Java相关 >> 为什么访问第二个构造函数时会发生数组越界啊?
  详细解决方案

为什么访问第二个构造函数时会发生数组越界啊?

热度:207   发布时间:2012-12-09 22:10:30.0
为什么访问第二个构造函数时会发生数组越界啊?
程序代码:
package fanshe.ConstructorDemo;
import java.lang.reflect.Constructor;
class Person
{
    private int age;
    private String name;
    Person()
    {
      
    }
    Person(String name,int age)
    {
        this.name=name;
        this.age=age;   
    }
    public void setName(String name)
    {
        this.name=name;
    }
    public String getName()
    {
        return this.name;
    }
    public void setAge(int age)
    {
        this.age=age;
    }
    public int getAge()
    {
        return this.age;
    }
    public String toString()
    {
        return "姓名:"+this.name+"\r\n"+"年龄:"+this.age;
    }
}
public class InstanceDemo04
{
    public static void main(String[] args)
    {
        Class<?> c=null;
        try
        {
            c=Class.forName("fanshe.ConstructorDemo.Person");
        }
        catch(ClassNotFoundException e)
        {
            e.printStackTrace();
        }
        Person per=null;
        Constructor<?>[] cons = null ;
        cons=c.getConstructors();
        try
        {
            per=(Person)cons[1].newInstance("java爱好者",20);
            //per=(Person)cons[0].newInstance();
        }
        catch(Exception e2)
        {
            e2.printStackTrace();
        }
        //per.setAge(20);per.setName("java爱好者");
        System.out.println(per);
    }
}
搜索更多相关的解决方案: age  越界  color  age  越界  color  

----------------解决方案--------------------------------------------------------
数组貌似要给个长度的吧


----------------解决方案--------------------------------------------------------
你开始定义的数组没开辟内存空间吧,你是null.
----------------解决方案--------------------------------------------------------
定义数组界?
----------------解决方案--------------------------------------------------------
  相关解决方案