我有以下类定义:
public class SyrianEdge extends BaseEdge<SyrianVertex, SyrianEdge>
implements Weighted, Blockable{
...
}
Run Code Online (Sandbox Code Playgroud)
和界面:
public interface Weighted{
public long getWeight();
}
Run Code Online (Sandbox Code Playgroud)
SyrianEdge类没有方法,public long getWeight()
但一切似乎编译得很好.
我错过了什么?为什么接口不强制类有它的方法?
如果你看一下这个基本的例子:
interface Weighted{
public long getWeight();
}
abstract class Parent implements Weighted {
@Override
public long getWeight() {
return 0;
}
}
class Child extends Parent {}
Run Code Online (Sandbox Code Playgroud)
由于Parent
该类已经实现了此方法,因此Child
该类没有义务实现它.