无法进行静态导入
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
//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