【发布时间】:2021-04-24 02:21:07
【问题描述】:
在阅读了几本关于 Java 继承的书籍后,我仍然不清楚 Java 的接口是如何工作的。例如,Collection 接口包含许多方法,例如“add”,这些方法由其他接口(例如 List 接口)继承。由于 add 是从接口继承的,根据定义,Collection 接口只会为 add 提供方法签名。所以我的问题是 add 的具体实现在哪里定义(实际添加的代码?)
【问题讨论】:
-
我仍然看不到 add 实现的来源。 Collection 和 List 是在 add 方法之外没有具体实现的接口
-
查看the documentation of Collection 是一个简单的方法。查看
public interface Collection<E>定义正上方的所有已知的实现类: 部分?这些是add方法的实现所在的位置。 (有些可能会从其他类继承add的实现,而不是提供自己的实现。) -
你从哪里得到那个类型的对象?
new XYZ()?然后XYZ提供实现。工厂方法?然后,查看工厂方法的代码。如果您跟踪足够长的时间,您将始终以new SomeType(…)表达式结束,而SomeType是实现类。
标签: java inheritance collections interface