我试图用使用Java的静态导入,但我写错了
static import java.lang.System.out;
和代码编译(虽然“走出去”符号找不到),没有语法错误。
那么,什么是“静态导入”,其实是指?
我试图用使用Java的静态导入,但我写错了
static import java.lang.System.out;
和代码编译(虽然“走出去”符号找不到),没有语法错误。
那么,什么是“静态导入”,其实是指?
这不应该编译。
static import java.lang.System.out;
按照JLS ,单一的静态进口应该是这样的:
import static java.lang.System.out;
在Java import语句的所有形式与开始 import
的关键字,我不认为有任何其他情况下(即除了import语句),其中import
可使用的关键字。
注: import
和static
关键字却不在此背景下,因此这种元规则“修改器可以按任何顺序来提供”在这里并不适用。
总之,无论是你的编译器/ IDE坏了或困惑...或者你所看到的是不是真正的Java源代码。
显然,这是一个错误。
我使用Java 8(JDK 1.8)来自Sun,为了测试lambda表达式...但我认为这是奇怪的“静态导入”被接受。
感谢所有的答案。 我对太阳会报告这个 :)
为了访问类的静态成员,您必须使用包含它的全类名。 例如,访问pi
的价值Math
类,你必须使用java.lang.Math.PI
。 但是,如果你导入( import static java.lang.Math.PI
),您可以只用PI
在代码中访问它。