/**
*
* 继承中构造方法的关系
* A:子类中所有的构造方法默认都会访问父类中空参数的构造方法
* B:为什么呢?
* 因为子类会继承父类中的数据,可能还会使用父类的数据
* 所以,子类初始化之前,一定要先完成父类数据的初始化
* 注意,子类每一个构造方法的第一条语句默认都是:super();
* C:如果父类没有无参构造方法,那么子类的构造方法会报错,
* 但是不写父类的构造方法,会默认给父类添加一个无参构造方法
* 如果遇到父类没有构造方法而报错怎么解决呢?
* 在子类的构造方法中加一句 super("随便给");显式的调用父类的带参构造方法
* 因为这样是对父类的数据进行了初始化
*
*/
class Father{
int age;
public Father(){
System.out.println("Father的无参构造方法");
}
public Father(String name){
System.out.println("Father的带参构造方法");
}
}
class Son extends Father{
public Son(){
//super();没写默认有
System.out.println("son的无参构造方法");
}
public Son(String name){
//super();没写默认有
System.out.println("son的带参构造方法");
}
}
public class ExtendsDemo {
public static void main(String [] args){
Son s = new Son();
System.out.println("----------------------");
Son s2 = new Son("qq");
}
}
Java中的继承
最新推荐文章于 2023-07-18 15:45:50 发布