[Day10]继承、抽象类

1.继承:在一个现有类的基础上去构建一个新的类,构建出来的新类被称为子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。

2.继承的格式 : class 子类 extends 父类{}

3.继承的好处:

  (1)继承的出现提高了代码的复用性,提高软件开发效率

  (2)继承的出现让类与类之间产生了关系,提供了多态的前提

4.继承的问题:

  (1)在java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个直接父类

  (2)多个类可以继承一个父类

  (3)允许多层继承

  (4)父类和子类是相对的概念

5.父类中的成员变量是非私有的,子类中可以直接访问,;若父类中的成员变量私有,子类不能直接访问

  当子父类中出现同名变时,在子类中若要访问父类中的成员变量,必须使用关键字super完成。 

  格式:super.父类中的成员变量

6.子父类中成员方法特点-重写&应用

  (1)当在程序中通过对象调用方法时,先查询子类再查询父类

  (2)覆盖:子类中出现与父类一模一样的方法,override重写、复写或覆盖

    在子类中,访问父类中的成员方法格式:super.父类中的成员方法();

    一模一样:方法的返回值类型 方法名 参数列表都要一样

  (3)注意:子类方法覆盖父类方法,必须保证权限大于等于父类权限

7.抽象类的产生

  (1)方法功能声明相同,但方法功能主体不同。

  (2)abstract关键字修饰的类是抽象类

  (3)抽象方法定义的格式:public abstract 返回值类型 方法名(参数);

    抽象类定义的格式: abstract class 类名{  }

8.抽象类的特点

  (1)抽象类和抽象方法都需要被abstract修饰,抽象方法一定要定义在抽象类中。

  (2)抽象类不可以直接创建对象

  (3)只有覆盖了所有抽象类中所有的抽象方法后,其子类才可以创建对象。

9.关于抽象类中的细节问题

  (1)抽象类一定是一个父类

  (2)抽象类的可以不定义抽象对象,不让该类创建对象

  (3)抽象关键字abstract不可以与private,final,static这三个关键词共存

原文地址:https://www.cnblogs.com/ERFishing/p/10478754.html