接口
包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的。
接口(interface)
abstract关键字允许在类中创建一个或多个没有任何定义的方法——提供了接口部分,但是没有提供任任何相应的具体实现,这些实现是由此类的继承者完成的。interface关键字产生了一个完全抽象的类。它没有提供任何具体实现。允许创建者确定方法名、参数列表和返回类型,但是没有任何方法体。接口只是提供了形式,而为提供任何具体实现。
一个接口表示:“所有实现了该特定接口的类看起来都像这样”。接口被用来建立类与类之间的协议
interface不仅仅是一个极度抽象的类,他允许人们通过创建一个能够被向上转型为多种基类的类型,来实现某种类似多重继变种的特性。
implements实现
完全耦合
一个方法操作的是类而非类的接口,那么就只能使用这个类及其子类
创建一个能够根据传递参数的不同而具有不同行为的方法,被称为策略设计模式。这类方法包含所要执行的算法固定不变的部分,而“策略”包含变化的部分。策略就是传递进去的参数对象,它包含要执行的代码。
Java中的多重继承
接口没有任何的具体实现,也就是说没有任何与接口先关的存储,因此也无法阻止多个接口的组和。
在导出类中,不强制要求必须有一个是抽象的或“具体的”基类。要从一个非接口的类继承,那么只能从一个类去继承。其余的基元素都必须是接口。
通过继承来扩展接口
interface D extends A,B,C, (中间用逗号隔开)
class E implements D
组合接口时的名字冲突
尽量避免继承时方法名的冲突
适配接口
接口中的域
放入接口中的域都自动是static和final
接口中的域自动是public
嵌套接口
接口与工厂
接口是实现多继承的途径,而生成遵循某个接口的对象的典型方式就是工厂模式设计模式。