《Java面向对象编程》学习笔记8——接口

本文探讨了Java中接口的设计原则及其与多重继承的关系,并详细介绍了适配器模式、代理模式等常见设计模式的应用场景与实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.为什么不支持多重继承:依据Sun的官方说法是,避免c++那样管理多重继承的层次关系而带来的复杂性

(主要是在多态覆盖方法的时候采用的动态绑定机制),换成用接口来实现多重继承的大部分功能,一个

类只能有一个父类,但可以有多个接口,以此对多继承提供了有力的支持。

2.类中声明了系统可以提供的服务,类似于电路中的模块,但是不包含具体的实现。例如:
public interface Photographable{
public void takePhoto();
}

3.接口中的成员变量默认都是public、static、final类型,因此必须被显示初始化。方法默认都是

public、abstract。这是必须遵守的。

4.接口没有构造方法,不能被实例化。

5.一个接口不能实现另一个接口,但是它可以继承多个接口。例如:
public interface C extends A,B{
void methodC();
}

6.接口必须通过类来实现它的抽象方法,例如:
public class Glass implements Transparency{...}
要是一个类要实现某个接口时,它必须实现接口中所有的抽象方法,除非这个类被定义为抽象类。

7.允许定义接口类型的引用变量去引用实现了该接口的类的实例:
Transparency t=new Glass();

8.抽象类与接口都是位于继承树的上方,都不能被实例化,都可以包含抽象方法。但前者可以提供默认实

现,而后者则必须包含抽象方法。接口一旦确定就不能随意改动了,否则就带来太大的麻烦。接口不要求

它的实现类在语义上是同一种类型,所以要是非同类型的相同方法类型则使用接口,利于继承树的合理化

。接口是系统最高层次的抽象类型。而抽象类则是介于“抽象”和“实现”之间的半成品,抽象类力所能

及地完成了部分实现。定制模式就是一种接口颗粒度细化的设计模式。

9.适配器模式:
当两个系统的接口不匹配的时候使用。采用组合关系来实现较好。这就类似于平时使用的笔记本电脑适配

器。而在JAVA中有许多实现了接口的默认适配器类,例如MouseListener提供了一个默认适配器

MouseAdapter类,继承这个类然后覆盖相应方法即可。

10.代理模式:
代理的共同特征是可以替代委托人去和第三方通信,对信息进行初步判断后转发或过滤消息,但是不能取

代委托人的任务。常用于对象分布在不同的机器上时,为了节约通信而进行的本地代理。

11.标志类型模式:
作为某种东西,比如食物,而单独抽象出来的一个接口(里面是空的),在方法中只有传入该类型的变量

才允许。也就是说,保护了方法的可实施性。在JAVA中的两个典型例子是,java.io.Serialize接口和

java.io.Remote接口。

12.常量接口模式:
相关的常量放在专门的一个常量接口中定义,使用import static XXX进行静态引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值