第九章 接口

本文探讨了接口和抽象类的概念及其在软件设计中的作用,详细介绍了抽象类和抽象方法的区别,接口的特性,如何通过继承实现接口,接口与工厂模式的关系,以及接口在代码复用性方面的优势。同时,文章还提到了接口的域、嵌套接口、适配接口等高级用法,为开发者提供了一个全面理解接口和抽象类在实际项目中的应用指南。

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


接口和抽象类为我们提供了一种将接口与实现分离的更加结构化的方法。
抽象类,是普通类与接口之间的一种中庸之道
1.抽象类和抽象方法
抽象方法:仅有声明而没有方法体
抽象类:包含抽象方法的类
如果从一个抽象类继承,并想创建该新类的对象,那么就必须为基类中的所有抽象方法提供方法定义。如果不这样做,那么导出类便也是抽象类,且编译将会强制我们用abstract关键字来限制这个类。
2.接口
interface关键字产生一个完全抽象的类,它根本就没有提供任何具体实现。
3.完全解耦
只要一个方法操作的是类而非接口,那么你就只能使用这个类及其子类。将接口从具体实现中解耦使得接口可以应用于多种不同的具体实现,因此代码页就更具可复用性
4.java中的多重继承
如果要从一个非接口的类继承,那么只能从一个类去继承。其余的基元素都必须是接口。需要将所有的接口名都置于implements关键字之后,用逗号将它们一一隔开。如果要从一个接口继承,可以继承多个接口,用逗号隔开
5.通过继承来扩展接口
通过继承,可以很容易地在接口中添加新的方法声明,还可以通过继承在新接口中组合数个接口
5.1.组合接口是的名字冲突
在接口实现多重继承时,如果有相同的方法,是没有问题的,但是如果参数列表或返回类型不同,会报错。在打算组合的不同接口中使用相同的方法名通常会造成代码的可读性的混乱,请尽量避免这种情况
6.适配接口
接口最吸引人的原因之一就是允许同一个接口具有多个不同的具体实现。一个接受接口的方法,而该方法传递的对象则取决于方法的使用者。
7.接口中的域
接口中的任何域都自动是static和final的
7.1初始化接口中的域
在接口中定义的域不能是“空final”,但是可以被非常量表达式初始化。
8.嵌套接口
接口可以嵌套在类中或其他接口中。
在类中嵌套的接口,就像非嵌套接口一样,可以拥有public和“包访问”两种可视性
9.接口与工厂
接口是实现多重继承的途径,而生成遵循某个接口的对象的典型方式就是工厂方法设计模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值