对于大多数人来说,也许它的答案是显而易见的,但在实现界面时我有点困惑。
“一个实现类”应该实现“完整的方法集”吗? 外汇:
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(){}
}
考虑到相关方法,逐个部分地实现接口? (---这样的实现时我得到了错误)
由于参考文献
一个或多个类可以实现该接口......
正如我所说,我有点困惑。
答案 0 :(得分:2)
当非abstract
类实现接口时,必须提供接口方法公开的 all 的实现。
如果我们有abstract class A
,它可以实现一个接口,而不提供接口公开方法的方法实现,因为默认情况下它们都是抽象的。但是当这个类被非abstract
类B
子类化时,子类必须提供接口公开的方法签名的实现。
答案 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)
如果事实证明您正在使用抽象类,那么您不必使用所有内容。根据我的理解,如果你打算使用提供的方法,你只想实现一些东西。向我解释说,提供了一个接口,以便用户不会忘记在他们的课堂上使用方法。希望这会有所帮助。