Java 8中的Java"静态导入"与"导入静态"

pau*_*ens 9 java import static java-8

我试图在Java上使用静态导入,但我写错了

static import java.lang.System.out;
Run Code Online (Sandbox Code Playgroud)

并编译代码(虽然找不到"out"符号),没有语法错误.

那么,"静态导入"实际上意味着什么呢?

Ste*_*n C 22

这不应该编译.

static import java.lang.System.out;
Run Code Online (Sandbox Code Playgroud)

根据JLS,单个静态导入应如下所示:

import static java.lang.System.out;
Run Code Online (Sandbox Code Playgroud)

在Java import语句的所有形式开头import关键字,我不认为有任何其他情况下(即除了import语句),其中import可使用的关键字.

注意:在此上下文中,importstatic关键字不是修饰符,因此"修饰符可以按任何顺序提供"元规则不适用于此处.


简而言之,您的编译器/ IDE会被破坏或混淆......或者您所看到的不是真正的Java源代码.