2

可能重复:
为什么 Java 编译器不支持导入继承?

我是否可以执行以下操作:假设我有一个A扩展类的类BB已导入类C,该类具有自己的B使用方法。可以A使用这些相同的方法,C而无需直接导入C,因为Aextends B

4

3 回答 3

5

关键字是一个imports句法结构;它与该文件中声明的类无关。

当你使用一个类时,编译器无法知道它的源代码导入了哪些类或包。

于 2013-01-09T23:22:37.267 回答
3

不,导入是类本地的。

您将不得不:

  • 将 C 导入 A
  • 在 B 中创建一个 A 可以调用的方法,该方法包装对 C 的调用
于 2013-01-09T23:18:51.160 回答
2

不。

但如果你说:

假设我有一个扩展类 B 的类 A。B导入了 扩展类 C,它有自己的 B 使用的方法。A 可以在不直接导入 C 的情况下使用 C 中的相同方法,因为 A 扩展了 B

然后 A 可以在不导入 C 的情况下使用 Cprotectedpublic方法(以及友好的方法,如果它在同一个包中)。

于 2013-01-09T23:24:06.253 回答