为什么java编译器不抱怨这个:

Ste*_*hen 0 java compiler-construction javac

我有一行基本上是这样的代码

NameOfAClassOnTheClasspath.
Run Code Online (Sandbox Code Playgroud)

编译器接受此操作时没有错误甚至是警告.我在eclipse和命令行上尝试过这个.

什么样的编译器(javac 1.6)甚至认为这意味着为什么不抱怨?

tru*_*ity 8

因为空格被忽略了,就像这样

SomeClass.

staticMethod();
Run Code Online (Sandbox Code Playgroud)

是一种完全合法的打电话方式

SomeClass.staticMethod();
Run Code Online (Sandbox Code Playgroud)

(你可以用几乎任何其他静态成员替换该方法)

例如另一个接口的内部接口:

Map.

Entry<Integer,Integer> x; // Declares a Map.Entry<Integer,Integer>
Run Code Online (Sandbox Code Playgroud)

当然这是非常可怕的编码风格,除非你打破太长而无法放在屏幕上的线条,在这种情况下你应该缩进其余部分.