假设我们有以下这些包和类:
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;
这种导入方式是非法的,会在编译时引发错误。