Java之抽象类,多态,接口

抽象类:

  1. 继承抽象类的子类必须重写父类所有的抽象方法。否则,该子类也必须声明为抽象类
  2. 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的
  3. 抽象类中,不一定包含抽象方法(可以有普通方法),但是有抽象方法的类必定是抽象类
  4. 抽象类的抽象方法主要作为模板使用
  5. 不能创建对象

多态

  1. 继承父类或者实现接口【二选一】、
  2. 方法的重写,这个方法是父类中声明子类中重写的方法【意义体现:不重写,无意义】
  3. 父类引用指向子类对象【格式体现】

接口

  1. 公共的静态的常量:其中public static final可以省略
  2. 公共的抽象的方法:其中public abstract可以省略
  3. 公共的默认的方法:其中public 可以省略,建议保留
  4. 公共的静态的方法:其中public 可以省略,建议保留
  5. 不能创建对象
  6. 接口中,无法定义成员变量,但是可以定义常量,其值不可以改变,默认使用public static final修饰。
  7. 接口中,没有构造方法,不能创建对象。
  8. 接口中,没有静态代码块。

类实现接口:

  1. 必须重写接口中所有抽象方法。
  2. 继承了接口的默认方法,即可以直接调用,也可以重写。重写时,default单词就不要再写了
  3. 不能重写静态方法
  4. 于接口的抽象方法、默认方法,通过实现类对象就可以调用
  5. 但是对于静态方法,必须使用接口名才能调用。

冲突:

  1. 当一个类,既继承一个父类,又实现若干个接口时,父类中的成员方法与接口中的抽象方法重名子类就近选择执行父类的成员方法
  2. 一个类同时实现了多个接口,而多个接口中包含方法签名相同的默认方法时,通过“接口名.super.方法名"的方法选择保留哪个接口的默认方法

接口多继承:

  1. 子接口重写默认方法时,default关键字可以保留。
  2. 类重写默认方法时,default关键字不可以保留。
posted @ 2021-03-17 14:37  亚洲哈登  阅读(53)  评论(0编辑  收藏  举报