我们写了一个代码来创建对象。
class Person
{
private String name;
private int age;
Person(String n)
{
name=n;
System.out.println("name="+name+",,age="+age);
}
Person(String n,int a)
{
name=n;
age=a;
System.out.println("name="+name+",,age="+age);
}
}
class PersonDemo
{
public static void main(String[ ] args)
{
Person p=new Person();
}
}
这是要创建一个人的对象,而我们这是写完之后进行运行却出现了错误。
这是出现了这个错误: 对于Person(没有参数), 找不到合适的构造器。这是什么原因呢?我们代码写的也是正确的。
因为这个person类中没有默认的构造函数,这个类中已经定义了构造函数,所以系统的默认的构造函数就没有了,而我们这个对象在找空参数的构造函数初始化,但是person类中没有,所以就出现了,找不到合适的构造器这种错误,所以这个对象也是不可能会被建立的。我们该怎么改呢,我们只需要在这个类中加入一个空参数的构造函数初始化。
class Person
{
private String name;
private int age;
Person()
{
System.out.println("name="+name+",,age="+age);
}
Person(String n)
{
name=n;
System.out.println("name="+name+",,age="+age);
}
Person(String n,int a)
{
name=n;
age=a;
System.out.println("name="+name+",,age="+age);
}
}
class PersonDemo
{
public static void main(String[ ] args)
{
Person p=new Person();
}
}
这样改就可以运行成功了。如图所示。