Java接口未强制执行

Reu*_*ani 1 java generics

我有以下类定义:

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()但一切似乎编译得很好.

我错过了什么?为什么接口不强制类有它的方法?

use*_*315 7

如果你看一下这个基本的例子:

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该类没有义务实现它.