接口官方Java教程中的这一行不准确吗?
我在这里查看Java中“接口”的摘要:http://docs.oracle.com/javase/tutorial/java/IandI/summary-interface.html
第一行表示,“接口定义了两个对象之间的通信协议。”
这真的准确吗?根据我的理解,接口只是一个承诺提供一些成员/方法集的契约,可以被任意数量的客户端使用(只要它们根据访问修饰符具有适当的访问权限)。我是否遗漏了合同中的“另一方”,即“两个对象之间”的接口
编辑:从答案/评论(以及投票结果)来看,我想我已经弄明白了。我想我只是被“两个对象之间”这个词迷住了,并假设它的意思是“两个对象之间”,这显然是一个错误的假设。谢谢
# 1 楼答案
我不认为这是不准确的。如果有什么区别的话,那就是过于简单化了
您是对的,任何数量的客户端都可以使用实现接口的对象。对于这一点,您可以说客户机不必是对象(它可以是类中的静态方法,这意味着很难说客户机是对象)。但关于定义通信协议的观点并没有错,即使需要通过不同的范式进行思考
# 2 楼答案
每当你使用一个对象时,你总是从另一个对象使用它。不能同时从多个对象调用方法
因此,如果A提供了一个接口,那么B也依赖于它和C,但A仍然分别为B和C提供接口
# 3 楼答案
这与协议的定义非常接近
# 4 楼答案
接口中定义的方法签名是强制执行。一方是接口的实现者,另一方是调用实现者的客户机