仅使用一个或多个类实现接口

时间:2013-12-14 14:40:36

标签: java inheritance interface abstract

对于大多数人来说,也许它的答案是显而易见的,但在实现界面时我有点困惑。

“一个实现类”应该实现“完整的方法集”吗? 外汇:

public class CCSImplementation implements CCS {

    public void addComment (int submissionId,int customerId, String comment, Date date)   { }

    public void addGeneralComplaint (int submissionId, int customerId, String description, Date date)  { }  
        and other methods…..}   

或者 - 更多实现类,如

public class Comment implements CCS {
    public void addComment() {}    
}

public class GeneralComplaints implements CCS {
    public void addGeneralComplaint(){}    
}

考虑到相关方法,逐个部分地实现接口? (---这样的实现时我得到了错误)

由于参考文献

  

一个或多个类可以实现该接口......

正如我所说,我有点困惑。

4 个答案:

答案 0 :(得分:2)

当非abstract类实现接口时,必须提供接口方法公开的 all 的实现。

如果我们有abstract class A,它可以实现一个接口,而不提供接口公开方法的方法实现,因为默认情况下它们都是抽象的。但是当这个类被非abstractB子类化时,子类必须提供接口公开的方法签名的实现。

答案 1 :(得分:2)

如果课程为abstract,则您不必实施所有/任何方法:

public abstract class Comment implements CCS {
    public void addComment() {}
    // addGeneralComplaint() is implied as abstract    
}

根据您的需要,定义这样一个类是完全有效的,其中实现了一些方法,但是留下子类来实现接口的其余方法。

答案 2 :(得分:0)

class Comment应扩展Class GeneralComplaints

类GeneralComplaints应扩展类Comment ..

答案 3 :(得分:0)

如果事实证明您正在使用抽象类,那么您不必使用所有内容。根据我的理解,如果你打算使用提供的方法,你只想实现一些东西。向我解释说,提供了一个接口,以便用户不会忘记在他们的课堂上使用方法。希望这会有所帮助。