假设我有一个导入 java.io.Exception 作为示例的超类。如果我正在处理子类中的异常,是否需要将 java.io.Exception 重新导入子类的代码中?
问问题
3426 次
3 回答
7
是(除非两个类在同一个文件中)。
导入是每个源代码文件,而不是每个类。它们完全是编译器专用的,在运行时没有影响。
于 2012-07-09T04:58:23.360 回答
4
是,如果子类在另一个 .java 文件中,否则没有
于 2012-07-09T04:57:27.260 回答
3
导入范围是每个源文件1:它不向类/类型添加任何内容,因此与继承或子类无关。
键入每个完全限定的类型太麻烦了,即使对于 Java 也是如此,因此导入指定了如何查找/解析不合格的类型(或静态方法)。
编译器会在无法解析类型时通知您是否缺少导入..
1 导入语句必须出现在包名称之后(如果有),并且在文件中声明的所有类型/类之前。由于每个文件最多有一个包,因此每个文件最多有一个导入部分,并且它们的范围包含文件的其余部分。
于 2012-07-09T05:14:04.113 回答