1

在通过google搜索并阅读了很多东西后,我得出结论,我可以决定何时使用接口以及何时使用抽象类,除了

如果所有方法都是抽象和公共的,将来不需要添加任何方法。

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

4

4 回答 4

1

Java不支持多个inheritance,所以我们只能extends一个类,最好使用interfaces. 但根据情况,这可能会有所不同。我的意见是最佳实践,interfaceabstract class大多数时候都要好。

于 2013-08-20T12:11:43.187 回答
1

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

如果您想在共享通用功能的相关实体之间进行区分,您可以使用抽象类。然后抽象类可以持有通用功能并定义子类应该使用的抽象方法来定义它们的特定行为。

请记住,虽然一个类只能扩展另一个类,但它可以从多个接口继承。

于 2013-08-20T12:15:46.400 回答
0
If all the methods are abstract and public and in future no need to add any
method

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

于 2013-08-20T12:14:46.183 回答
0

当抽象类以实现方法的形式携带行为时,最好使用抽象类,该方法的功能对子类很有用。

在你的情况下,你应该去一个接口。

于 2013-08-20T12:16:05.120 回答