无法进行静态导入

时间:2017-05-01 10:45:32

标签: java import static-import

// interface1.java

package package1;
   public interface interface1 {
      static final int a =10;
   }

// StaticImportTest.java

 import static package1.*;         //import package1.*; works

   class StaticImportTest {
      public static void main(String args[]) {
        System.out.println(a);     //System.out.println(interface1.a) works
      }
   }

当我更换单词" import static"只有" import"它使用System.out.println(interface1.a),但不确定为什么它不能以当前的形式工作。

1 个答案:

答案 0 :(得分:1)

要使静态导入按照预期的方式工作,就必须这样做 import static package1.interface1.*import static package1.interface1.a
静态导入导入类的公共静态成员,或者全部带*或者特定的成员,例如a 另一方面,导入从包中导入包或特定类。

您的import static package1.*会尝试从根包中的类package1导入所有成员。

将其设为正常导入并通过a访问interface1.a有效,因为导入会导入package1中包含interface1的所有类,因此您可以访问a通过interface1类。