可能这是一个小菜鸟问题。我总是听到人们说界面会隐藏实现细节。我无法以特定的方式理解这是什么意思。我会告诉我到现在为止我的理解。请告诉我,如果我的理解有任何错误。界面如何隐藏实现细节
让我们假设,我们有一个List
接口在我们的代码中声明如下。
List ls= new ArrayList()
通过改变上述行状
ArrayList ls= new ArrayList();
我可以按Ctrl看到的ArrayList
每个实施细节+点击我的IDE的方法。
如果您声明ls
作为类中的私有变量,并且只给该变量的getter
将返回接口的引用。这样你就不知道该引用指出的对象是什么。这样你就可以隐藏实现细节。
我觉得还有比这更多的东西,请给我更清楚的这个。
编辑: -我知道多态性是如何通过接口工作的。我怀疑是隐藏实现细节意味着字面上隐藏,或者它意味着最终用户不需要打扰它的实现细节。
我没有问关于多态性。我想知道它是否真的可以隐藏实现细节以外的任何方式,或者是否有任何不同的上下文来隐藏实现细节。 – udaybhaskar
@udaybhaskar不,这就是隐藏实现细节的含义。你有从外部看到的接口(或API),实现是调用者不应该在意的。 Mikey的答案解释了它如何在现实生活中运作。 – Kayaman
@Mikey你能详细解释一下吗?我很难理解你的答案。使用一些适当的示例代码或解释的一些链接。 – udaybhaskar