abstract class CAR
fuelUp () { // implemented }
/ \
interface SPORTER interface TRUCK
driveFast (); moveLoad ();
在Java中我有没有办法 拥有
的类ESTATE无法从多个类进行扩展,并且使CAR成为接口无法在CAR中实现。
答案 0 :(得分:4)
您的Java类只能扩展1个父类,但是可以实现多个接口
您的班级定义如下:
class ESTATE extends CAR implements SPORTER, TRUCK {}
有关更多帮助,请参见: https://stackoverflow.com/a/21263662/4889267
答案 1 :(得分:0)
正如已经确定的,您可以扩展一个类并实现多个接口。并且在Java 8+中,这些接口可以具有默认实现。
但是要补充一点,例如,您还可以使用SPORTER的各种实现。您可以通过合成来利用SporterAlpha实现。
class Foo extends Car implements Sporter {
private SporterAlpha sporterAlpha;
public int sporterMethodA(int arg1) { return sporterAlpha.sporterMethodA(arg1); }
}
根据需要重复以公开所有必要的SporterAlpha方法。
因此,您可以: