Jac*_*ace 28 java multiple-inheritance
我认为多重继承在Java中总是非法的,但是这段代码编译:
public interface A {
void a();
}
public interface B {
void b();
}
public interface AB extends A, B {
}
Run Code Online (Sandbox Code Playgroud)
有一个空的界面,如AB被认为是一个坏的做法?有没有办法在避免空接口(使用泛型或其他方式)的同时实现类似的东西?
注意:我不是在问如何通过接口模拟多重继承.我意识到我可以做到以下几点:
public class AbImpl implements A, B {
public void a() {}
public void b() {}
}
Run Code Online (Sandbox Code Playgroud)
由于各种原因,我需要一个具有两种方法的接口.
实现接口不是“继承”,这是当您扩展类时。
实现接口用于声明类“看起来像”某物,而扩展类用于声明类“是”某物。
可以“看起来”多种事物,但不能“成为”多种事物。
使用扩展多个接口的空接口作为将一组接口收集到单个接口中以传达更广泛但可重用的 API 的一种方式并没有错。
| 归档时间: |
|
| 查看次数: |
36749 次 |
| 最近记录: |