1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名)
2.每个类可以有一个以上的构造器
3.构造器可以有0个、1个或1个以上的参数
4.构造器没有返回值
5.构造器总是伴随着new操作一起调用
6.不添加任何构造器会默认有空的构造器
继承与构造器
使用super调用父类构造器的语句必须是子类构造器的第一条语句
为什么加上super?
Java的构造器并不是函数,所以他并不能被继承,这在我们extends的时候写子类的构造器时比较的常见,即使子类构造器参数和父类的完全一样,我们也要写super就是因为这个原因。
如果子类构造器没有显式地调用父类的构造器,则将自动调用父类的默认(没有参数)的构造器。如果父类没有不带参数的构造器,并且在子类的构造器中又没有显式地调用父类的构造器,则java编译器将报告错误
/**
* @author 爱丽丝、如歌
* @description 动物类_狗
* @create 2018-01-21 下午 6:29
**/
public class Dog {
private String id;
private String name;
public Dog(String id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "Dog{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
'}';
}
}
public class Main{
public static void main(String[] args) {
Dog dog = new Dog("一号","卡布达");
System.out.println(dog);
}
}