java SE-接口与实现

接口与实现

接口

使用interface可以声明一个接口。

接口体

  • 接口体内的变量都是public权限(可省略final public static)。
  • 接口体内的方法都是public的abstract方法(可省略abstract public)。

接口的使用

一个类通过implements关键字来实现一个或多个接口,可以实现接口的一个方法或多个方法。

public接口可被任何类实现;友好型接口可被同一包内的类实现。接口可被多个类实现

理解接口

  • 接口只关心操作,不关心如何实现该操作。
  • 多个类可实现同一接口,对其方法各有重写,一个类可实现多个接口。
  • 子类不希望继承一些方法时,可以考虑实现接口

接口回调

定义:把实现接口的类的实例对象的引用,传给接口声明的变量。

实现:十分类似上转型对象调用其子类重写的方法。因此,接口也不可以调用该子类对象其他的非接口方法。

接口的多态性

与类类似,接口的抽象函数被多个类重写时,也会展现出多态性。

接口VS抽象类

  • 接口中只有常量,没有变量;抽象类都可以。
  • 接口中只有抽象方法;抽象类中都可以。
  • 如果子类除了重写方法外,还需要继承一些变量或非抽象方法,abstract类更合适;如果不需要继承,只是想对一些方法进行重写,考虑使用接口。

面向接口编程

思想:使用接口回调,使接口变量存放实现类的对象的引用,这样可灵活回调各种不同的实现方法。

例如:实现一个广告牌,显示许多公司的广告。难道我们还需要让广告牌去继承一个公司类吗?!显而易见,我们只需要在公司类里面设计一个广告接口,再设计一个广告牌类,该类使用接口的变量作为参数,展示不同的方法。这些不同方法应当由公司的不同子类分别做不同实现,体现出多态性。

image-20230105203401073

posted @ 2023-02-13 14:55  丘丘王  阅读(25)  评论(0编辑  收藏  举报
鼠标点击页面特效

尝试在空白处点击鼠标