首页 > Java > java教程 > 正文

项目通过其接口引用对象

Linda Hamilton
发布: 2024-10-25 09:42:02
原创
186 人浏览过

Item  Referencie os objetos através das interfaces deles

优先选择接口作为引用类型:
如果存在合适的接口,您应该通过它引用对象而不是具体类。
这适用于参数、返回值、变量和字段。

使用接口时的灵活性:
使用接口允许您更改实现而不影响代码。
示例:从 LinkedHashSet 更改为 HashSet 或 TreeSet,只需更改构造函数即可。

何时不使用接口:
特定于实现的功能:
如果实现提供了接口不需要的东西(例如 LinkedHashSet 保证迭代顺序,但 HashSet 不保证)。

没有合适的接口:
有些类如 String 或 BigInteger 没有等效的接口,必须直接使用。

基于类的框架:
示例:java.io包中的OutputStream是通过抽象类引用的,而不是接口。

特定于实现的方法:
示例:PriorityQueue 实现了 Queue,但 Queue 中没有 comparator() 方法。仅当您需要此额外方法时才使用该类。

好处:
使用接口使程序更加灵活和模块化,使您可以轻松更改实现而不破坏现有代码。

代码示例
很好的例子:使用接口作为类型

Set<String> s = new LinkedHashSet<>();

登录后复制

坏例子:使用具体类作为类型

LinkedHashSet<String> s = new LinkedHashSet<>();

登录后复制

灵活性:更改实现而不影响代码

Set<String> s = new TreeSet<>();

登录后复制

使用 String 这样的 Final 类的示例

String str = "Hello";

登录后复制

使用框架基类的示例

OutputStream output = new FileOutputStream("file.txt");

登录后复制

以上是项目通过其接口引用对象的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!