1.首先先写一个类
package extendsDemo;
/*
*继承中构造方法的执行顺序:
* 在有子父类的继承关系中,创建子类对象,调用子类的构造方法,
* 如果子类构造方法的第一行,如果没有调用父类方法,则系统默认调用父类的无参构造。
*
* 在代码执行的时候,肯定会先执行父类的构造,因为要先给父类的成员变量初始化,以防子类用到。
*/
public class ExtendsTest {
public static void main(String[] args) {
Zi z = new Zi();
}
}
class Die{
public Die(){
System.out.println("我是父类的无参构造");
}
public Die(int num){
System.out.println("我是父类的有参构造");
}
}
class Zi extends Die{
public Zi(){ //即这个的第一行,如果没有调用父类方法,则系统默认调用父类的无参方法
//super();
this(1);
System.out.println("我是子类的无参构造");
}
public Zi(int num){
System.out.println("我是子类的有参构造");
}
}
结果是:
第一行调用父类构造:
运行结果
继承的优缺点:
优点:提高了代码的复用性
提高了代码的维护性
缺点:类的耦合性增强了,当遇到关系比较紧密的几个类的时候可能会更容易出错
开发的原则:高内聚低耦合