小白学java第14天
继承:继承可以解决代码复用,当多个类存在相同属性变量和方法是,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不再需要重新定义这些属性和方法,只需要通过extends来声明继承父类即可;
基本语法:class 子类 extend 父类{}
注意:
1.子类会自动拥有父类定义的属性和方法
2.父类幼教超类,基类
3.子类又叫派生类
继承的优点:
1.代码复用性提高
2.代码的拓展性和维护性提高
继承的细节:
1.子类继承了所有的属性和方法,但是私有属性不能在子类直接访问,要通过父类提供公共的方法去访问
2.子类必须调用父类的构造器完成对属性的初始化
3.当创造子类对象时,不管使用子类的哪了构造器,默认情况下总会去调用父类的无参构造器。如果父类没有提供无参构造器,则必须在子类的构造器中用super去指定使用父类的哪个构造器完成对父类的初始化工作,否则编译不会通过
4.如果希望指定去调用父类的某个构造器,则显式的调用一下:super()
5.super在使用时,必须放在构造器第一行
6.super()和this()都只能放在构造器第一行,因此这两个方法不能共存在一个构造器
7.java所有的类都是Object的子类 ctrl+h 可以看到继承关系
8.父类构造器的调用不限于直接父类,将一直向上追溯直到object类
9.子类最多只能直接继承一个父类
10.不能滥用基层,子类父类之间必须满足is-a的逻辑关系