在JAVA中将引用变量声明为接口类型有什么好处?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在JAVA中将引用变量声明为接口类型有什么好处?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1676字,纯文字阅读大概需要3分钟。
内容图文
![在JAVA中将引用变量声明为接口类型有什么好处?](/upload/InfoBanner/zyjiaocheng/685/aa57a9c98c83412889402eed08131e86.jpg)
这个问题已经在这里有了答案: > “Program to an interface”. What does it mean? 8个
遇到此问题时,我正在阅读this PowerPoint presentation:
When you call a method through one of these references, the correct version will be called based on the actual instance of the interface being referred to. This is one of the key features of interfaces. The method to be executed is looked up dynamically at run time, allowing classes to be created later than the code which calls methods on them.
谁能解释这个概念?我只介绍了很少的网站和书,但是我仍然不清楚这个概念是如何工作的.从上一行可以知道它调用了正确的方法版本.它是如何工作的以及何时应该将对象转换为接口类型.
解决方法:
让我们举一个使用List接口的例子.它的两个实现是ArrayList和LinkedList.第一个在检索随机元素方面确实非常快(例如,使用get(6)方法检索第六个元素),但是在添加和删除元素上却很慢.第二个则相反.快速添加和删除,但访问随机元素慢.
现在,假设您有一个类,该类具有检索有关汽车经销店信息的方法.一种方法检索所有可用汽车制造商的列表,而另一种方法检索经销商拥有的所有汽车.在第一种情况下,您希望使用ArrayList,因为您不希望制造商的列表发生太大的变化,而在第二种情况下,您希望使用LinkedList,因为您希望买卖很多汽车,从而做出许多更改.
但是,使用这些方法的人并不在乎是处理ArrayList还是LinkedList.他要做的就是使用get(x)和add(Car)或remove(Car),它们都是List接口的方法.因此,您的方法都应将List作为其返回类型,并且它们将决定将提供的实现,因为调用该方法的对象无关紧要.
如果您决定需要快速检索而不是快速添加和删除,那么这还为您带来了将来可以更改第二种方法的优点,例如,将第二种方法从提供LinkedList变为ArrayList.如果该方法显式返回LinkedList,则必须将所有被调用的位置更改为新类型.但是,如果仅返回接口,则无需进行外部更改!
内容总结
以上是互联网集市为您收集整理的在JAVA中将引用变量声明为接口类型有什么好处?全部内容,希望文章能够帮你解决在JAVA中将引用变量声明为接口类型有什么好处?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。