代码之家  ›  专栏  ›  技术社区  ›  Aamir

Java奇怪的静态导入[重复]

  •  -5
  • Aamir  · 技术社区  · 10 年前
    package pack1;
    
    public class A {
    
        public static int i = 10;
        public static void test()  {
            System.out.println("done");
        }
    }
    

    这是一个单独的.class文件:

    package pack2;
    import pack1.A.*;
    public class Manager0  {
    
        public static void main(String args [] ) {
    
            System.out.println(A.i);
            A.test();
        }
    }
    

    当我跑步时 Manager0 类显示错误,因为我使用 import pack1.A.*; 而不是 import pack1.A; ,但为什么不 导入包1.A.*; 工作我是说没有 导入包1.A.*; 意味着导入课堂上的所有内容 A ?

    1 回复  |  直到 10 年前
        1
  •  1
  •   Rohit Jain    10 年前

    您正在寻找 static 进口。这应该是:

    import static pack1.A.*;
    

    ……你真的应该避免它,特别是像那样使用。如果您需要特定的成员,请使用其名称专门导入它。

    它失败了 静止的 因为不能非静态地导入类的成员。您只能使用所谓的 按需导入 ,从特定包导入类,或 静态按需进口 要导入 静止的 一个班级的成员。