Moh*_*lla 12 java import static
在Java-"无法导入默认包的静态成员" - 有人可以解释这个语句吗?如果它有一个例子会更好.我不确定它是否有一个非常简单的答案,但后来我试图理解,但无法弄明白.
Kal*_*see 20
这意味着,如果一个类在默认包中定义(这意味着它不会有任何包定义),那么你就不能导入它的另一个类的静态方法.所以下面的代码不起作用:
// Example1.java
public class Example1 {
public static void example1() {
System.out.println("Example1");
}
}
// Example2.java
import static Example1.*; // THIS IMPORT FAILS
public class Example2 {
public static void main(String... args) {
example1();
}
}
Run Code Online (Sandbox Code Playgroud)
导入失败,因为您无法从默认包中的类导入静态方法,这是Example1的情况.实际上,您甚至无法使用非静态导入.
这个错误报告讨论了为什么Java以这种方式行事,它最终被关闭为"不是缺陷" - 这就是Java的行为方式.默认包只是有一些意想不到的行为,这是鼓励程序员从不使用默认包的原因之一.
| 归档时间: |
|
| 查看次数: |
5675 次 |
| 最近记录: |