在 Java 中,导入与(外部)类相关,因为每个(外部)类都应该在单独的文件中编码。因此,可以声称类定义之前的 import ...;
指令与类相关联(有点像注释)。
现在,如果可以继承父类的导入,那将大大减少源文件的困惑。为什么这不可能?即为什么 Java 编译器不应该考虑基类的导入?
注意事项:
- 可能有不止一个答案。
- 我知道如果您让 eclipse 组织您的导入,这不是什么大问题,无需提及。这是关于“为什么”,而不是“如何”(a-la- this)。
最佳答案
首先,重要的是要注意并非每个类都必须在单独的文件中编码 - 但每个公共(public)顶级类都必须是。不,导入并没有真正与任何类相关联——它们只是用于在文件中包含某些外部类/包以便可以使用它们的语句。事实上,你永远不需要实际导入任何东西,你总是可以使用全名,即:
java.util.List<String> list = new java.util.ArrayList<String>();
导入是为了方便(并且仅供编译器使用——它们在类编译后丢失),使您不必写出所有内容,而只会让您编写 List<String> list = new ArrayList<String>
(在您从 java.util
进行相关导入之后)。因此,子类没有理由“继承”导入。
关于java - 为什么 Java 编译器不支持导入继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14074874/