什么是接口的实时应用???
我们也可以在不定义接口的情况下实现类。
例如。
我们有一个界面动物,并且有一些方法,比如吃等。
我们可以从中实现不同的类,如狗、猫等。
但我们也可以用相同的方法制作相同的狗、猫等类,而无需使用接口。
那为什么要使用界面???
因为它允许您将实现与大部分代码分离。
典型的例子是集合,比如List
它的子类。我可以这样定义一个列表:
private List<String> list = new ArrayList<>();
...并且只在该代码中提及具体类 ArrayList。在剩下的时间里,我使用的list
是List
接口类型。如果我出于某种原因希望选择不同的 list 实现,例如LinkedList
,或者甚至是我碰巧发现对我的用例更有效的第三方实现,那么只需将一个替换为另一个就很简单了. 另一方面,如果我ArrayList
在代码中的任何地方都使用了,并且必须更改所有这些类型,我也(可能)使用ArrayList
了不在 List 接口中的特定方法,这意味着我必须重构我的方式周围那些也。