pan*_*ajt 2 java design-patterns
我们可以扩展一个类,但是我们不能实现一个类.我们可以实现一个接口,但不能扩展接口.
在什么情况下我们应该使用扩展?
extends
用于扩展基类:
class ClassX extends ClassY {
...
}
Run Code Online (Sandbox Code Playgroud)
或扩展接口:
interface InterfaceA extends InterfaceB {
...
}
Run Code Online (Sandbox Code Playgroud)
请注意,接口无法实现其他接口(很可能是因为它们没有实现).
Java不强加的类对接口的任何命名约定(相比之下,IFoo
在.NET世界的接口),而是使用之间的区别extends
,并implements
以表示差的程序员:
class ClassA extends ClassB implements InterfaceC, InterfaceD {
...
}
Run Code Online (Sandbox Code Playgroud)
在这里,您可以清楚地看到您正在构建现有实现,ClassB
并且还可以从两个接口实现这些方法.