假设我们有这些包和类:
package p1;
public class A1 {
public static void a() {}
}
package p2;
public class A1 {
public static void a() {}
}
package p3;
import static p1.A1.a;
import static p2.A1.a;
public class A1 {
public static void test() {
}
}
我想知道,为什么方法的静态导入在包中是合法的(不会导致编译时错误)p3
?我们将无法在test()
方法中进一步使用它们,因为这样的使用会导致编译时错误。
为什么它与正常的类导入不同。假设我们想将类A1
从包导入p1
到:p2
p3
package p3;
import p1.A1;
import p2.A1;
这样的导入是非法的,会导致编译时错误。