无法进行静态导入

Unable to do 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" 替换单词 "import static" 并使用 System.out.println(interface1.a) 时,它可以工作,但不确定为什么它不能在当前工作表格.

要使您的静态导入按照您预期的方式工作,它必须是 import static package1.interface1.*import static package1.interface1.a
静态导入导入 class 的 public 个静态成员,要么都带有 * 或特定的成员,例如 a.
另一方面,导入从包中导入包或特定的 classes。

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

使其正常导入并通过 interface1.a 访问 a 有效,因为导入从 package1 导入所有 classes,包括 interface1,因此您可以通过 interface1 class.

访问 a