JAVA2实用教程(第5版)第六章

第六章 接口与实现

6.1接口

为了克服Java单继承的缺点,Java使用了接口,一个类可以实现多个接口。使用关键字interface来定义一个接口。接口的定义和类的定义很相似,分为接口的声明和接口体。

a.借口的声明格式:

interface 接口的名字

b.接口体:包含常量的声明和抽象方法两部分。常量的要求public、static(允许省略public、final、static修饰符)。抽象方法的要求public(允许省略public abstract修饰符)。

6.2 实现接口

接口的实现:a.一个类需要在类声明中使用关键字implement声明该类实现一个或多个接口,接口之间用逗号隔开

                            b.非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有方法,且方法的访问权限要明显地用public修 饰,否则会降低访问权限。(抽象类可以重写,也可以直接拥有接口中的方法)

(1)public接口可以被任何一个类实现,而不加public修饰的友好类只能被同一个包的类实现。

(2)接口属于引用型变量,在接口中可以存放实现该接口的类的实例的引用,即存放对象的引用。

6.4 接口回调

可以把实现某一个接口的类创建的对象的引用赋值给该接口声明的接口变量,那么该接口变量就可以调用被类实现 的接口的方法;即当接口变量调用被类实现的接口方法时,就是通知相应的对象调用这个方法。

                       (类似上转型对象调用子类重写的方法)

6.5 理解接口

a.接口可以抽象出重要的行为标准,该标准用抽象方法表示。

b.可以把实现接口的类的对象的引用赋值给接口变量,该接口变量可以调用被该类实现的接口方法。

6.6 接口的多态

不同的类在实现同一个接口时可能具有不同的实现方式,那么接口变量在回调接口方法时就可能具有多种形态。

6.7 接口参数

如果一个方法的参数是接口类型,我们就可以将任何实现该接口的类的实例的引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法。

6.8 abstract类与接口的比较

a.抽象类与接口都是作为行为标准。

b.抽象类用在同一类别对象。

c.接口更注重行为一致性。

d.抽象类既可以有抽象方法也可以有非抽象方法,既可以有常量也可以有变量;

  而接口只可以有抽象方法和常量。

6.9面对接口编程

利用接口也可以体现程序设计的“开-闭原则”,即对扩展开放,对修改关闭。

猜你喜欢

转载自blog.csdn.net/weixin_40909604/article/details/84998838