Java静态导入

Java静态导入,java,Java,这是单独的.class文件: package pack1; public class A { public static int i = 10; public static void test() { System.out.println("done"); } } 当我运行Manager0类时,它显示错误,因为我使用了import pack1.A.*;代替进口包装1.A;,但是为什么不导入pack1.A.*;工作我的意思是不导入pack1.A.*;

这是单独的.class文件:

package pack1;

public class A {

    public static int i = 10;
    public static void test()  {
        System.out.println("done");
    }
}
当我运行Manager0类时,它显示错误,因为我使用了import pack1.A.*;代替进口包装1.A;,但是为什么不导入pack1.A.*;工作我的意思是不导入pack1.A.*;是否要导入A类中的所有内容?

您正在寻找静态导入。这应该是:

package pack2;
import pack1.A.*;
public class Manager0  {

    public static void main(String args [] ) {

        System.out.println(A.i);
        A.test();
    }
}
。。你真的应该避免它,特别是像那样使用。如果需要特定成员,请使用其名称专门导入该成员


它在没有静态的情况下失败,因为您不能非静态地导入类的成员。您只能使用所谓的“按需导入”,从特定包导入类,或使用“按需静态导入”导入类的静态成员。

请详细说明为什么这不起作用。您缺少一个Java关键字,仅此而已。伙计们,如果您投反对票,是什么阻止你发表评论?至少你没有键盘吗?。我不明白为什么在这个问题上会有这么多人投反对票?@RohitJain有趣的是,发现的副本也是由同一个OP提出的:没有人否决这个问题。顺便说一句,我不是落选者。重复的问题有一个相当好的答案,链接到阅读资源,而且它已经被标记为接受。所以,你已经知道你要做什么,去阅读和练习。这个问题似乎是为了获得更多的声誉。
import static pack1.A.*;