2013-08-20 31 views
1

通过谷歌搜索和阅读了很多东西之后,我得出结论,我可能能决定何时使用接口,当如果所有的方法都是抽象的,公众和未来没有必要使用抽象类除外我应该使用什么接口或抽象类?

添加任何方法。

所以我想知道如果出现上述情况,我使用了什么选项(接口或抽象类)。

+1

请注意,当您专门讨论Java时,类可以实现尽可能多的接口,但只能从一个类继承。 (另外,请记住,“我绝对不需要在将来增加任何东西”只是让自己设置为听到“我告诉过你”这样的来自最近的人。) – Michelle

回答

1

Java不支持多个inheritance所以我们只能一个类extends,那里最好用interfaces。但根据情况,这可能会有所不同。作为最佳实践,我的意见是,大多数时候interface优于abstract class

0
If all the methods are abstract and public and in future no need to add any 
method 

在接口中,所有的函数默认是公共的和抽象的,而抽象类可以有非抽象的方法。所以你有你的答案!

1

如果您必须在不同的实体上定义一组公共行为,则需要使用接口。

如果您希望在具有共同功能的相关实体之间有所不同,则使用抽象类。然后抽象类可以保存通用功能并定义子类应该使用的抽象方法来定义它们的特定行为。

请记住,一个类只能扩展一个其他类,但它可以继承多个接口。

0

抽象类最适用于它们携带行为的形式,其实现方法的功能对于子类是有用的。

就你而言,你应该去一个界面。