首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java接口方法论:每个类都应该实现一个接口吗?

Java接口方法论:每个类都应该实现一个接口吗?
EN

Stack Overflow用户
提问于 2010-04-18 01:41:29
回答 13查看 15.2K关注 0票数 22

我已经在大学学习了几门Java编程,我有以下问题:

是否在方法论上接受每个类都应该实现一个接口?不这样做被认为是不好的做法吗?你能描述一下使用接口不是一个好主意的情况吗?

编辑:个人,我喜欢将接口作为一种方法论和习惯来处理所有事情的概念,即使它没有明显的好处。Eclipse自动创建了一个包含所有方法的类文件,因此它不会浪费任何时间。

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2010-04-18 01:56:13

如果不打算使用接口,则不需要创建接口。

通常,在以下情况下需要一个接口:

  • 您的程序将为您的组件提供多个实现。例如,作为代码一部分的默认实现,以及在JUnit测试中使用的模拟实现。有些工具会自动创建一个模拟实现,比如Spring.Spring.SpringMicroContainer你想要对这个类使用依赖注入,使用一个框架,比如EasyMock或者

微容器。在这种情况下,最好使用接口指定一个类与其他类之间的依赖关系。

票数 30
EN

Stack Overflow用户

发布于 2010-04-18 01:47:02

遵循YAGNI原则,如果您确实需要接口,则类应该实现该接口。否则你会从中得到什么呢?

编辑:接口提供了一种抽象。如果您希望在不同的实现之间进行交换(许多类实现相同的接口),则它们特别有用。如果它只是一个单独的类,那么就没有任何好处。

票数 25
EN

Stack Overflow用户

发布于 2010-04-18 01:51:31

不,并不是每个类都必须实现一个接口。只有在接口使您的代码更简洁、更容易编写时,才使用接口。

如果您的程序当前不需要为一个给定的类提供多个实现,那么您就不需要接口。例如,在我编写的一个简单的国际象棋程序中,我只需要一种Board对象。棋盘就是棋盘就是棋盘。制作一个Board接口并实现它只需要更多的代码来编写和维护。

如果你最终需要的话,切换到一个界面是非常容易的。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2659366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档