扩展一个类(实现接口)并实现相同的接口不需要类中的方法定义?

时间:2012-10-24 11:25:04

标签: java class interface

/ C类已经实现了接口A但是没有定义go()方法是否正确? /

interface A { void go();}
Class B implements A { void go(){#Some code here}}
Class C extends B implements C {}

4 个答案:

答案 0 :(得分:1)

这是对的。但是,即使您没有像这样定义它,接口中的方法也是public abstract

实现类方法也必须是公共的,因为您无法降低方法可见性。因此,类B中的方法应为public

答案 1 :(得分:0)

请记住,C是B,因此具有B中的方法定义。如果您确实希望这样做,则必须为B和C创建抽象基类。

答案 2 :(得分:0)

是的,C扩展了已实现go的B,因此C继承了此实现。

答案 3 :(得分:0)

这是对的。因为它已经B继承了方法。实际上,类implements A的{​​{1}}是多余的!