举例:
class Person{
Person(){
System.out.println("person run");
}
}
class PersonDemo2{
public static void main(String[] args){
Person p = new Person();
}
}
构造函数重载:
举例:
class Person{
private String name;
private int age;
/*Person(){
System.out.println("A:name = "+name+",age="+age);
}*/
Person(String n ){
name = n;
System.out.println("B:name = "+name+",age="+age);
}
Person(String n ,int a){
name = n;
age = a;
System.out.println("B:name = "+name+",age="+age);
}
}
class PersonDemo2{
public static void main(String[] args){
Person p1 = new Person();
Person p2 = new Person("lisi");
Person p3 = new Person("lisi",10);
}
}
注意:如果把下面的两句以及无参构造函数都注释掉的话,编译会报错
原因:因为Person类中已经有了构造函数,所以不会再默认添加无参构造函数。所以找不到无参构造函数
Person p2 = new Person("lisi");