构造方法是用来初始化对象的方法,与类名相同,无返回值
1、没有指定构造方法,系统自动加无参构造方法
2、指定了构造方法,系统不会再自动添加
一个对象建立,构造方法只运行一次,一般方法可以被对象调用多次。
构造方法能被重载,不能被继承,所以不能重写
class Base{
public Base(String s){
System.out.print("B");
}
}
public class Derived extends Base{
public Derived (String s) {
System.out.print("D");
}
public static void main(String[] args){
new Derived("C");
}
}
输出结果?
在调用子类构造器之前,会先调用父类构造器,当子类构造器中没有使用"super(参数或无参数)"指定调用父类构造器时,是默认调用父类的无参构造器,如果父类中包含有参构造器,却没有无参构造器,则在子类构造器中一定要使用“super(参数)”指定调用父类的有参构造器,不然就会报错。