扩展实现的类是否也应该标记它实现了该接口?

时间:2017-12-21 20:29:14

标签: java

说我有一个界面:

interface IFoo {
    void foo();
}

以及实现它的类:

class Foo implements IFoo {
    void foo() {
        System.out.println("foo!");
    }
}

和扩展该类的类:

class Bar extends Foo {
    void foo() {
        super.foo()
        System.out.println("bar!");
    }
}

Bar应该声明为class Bar extends Foo还是class Bar extends Foo implements IFoo

2 个答案:

答案 0 :(得分:0)

没有必要再次实现它,因为您之前已经实现过它。

答案 1 :(得分:0)

1)您需要告诉编译器Foo实现该接口,因此您需要对Foo类定义进行一些修正,因为现在定义缺少implements个关键字:

class Foo implements IFoo {
    void foo() {
        System.out.println("foo!");
    }
}

2)你不必再说延伸类也实现了这个接口。