首页 > 解决方案 > 为什么在访问字段和方法时点之间的空格没有编译错误?

问题描述

访问类的字段时,我不小心在点和字段名称之间有一个空格,例如:https ://ideone.com/63RuFV

class Dog{
String name;

    public Dog(String name){
        this.name = name;
    }
}

...

Dog d = new Dog("Fido");
System.out.println(d. name);
d. print();

我很惊讶没有任何错误。我一直以为你没有任何空间。

标签: java

解决方案


让我们引用java 语言规范

使用以下三个词汇翻译步骤将原始 Unicode 字符流翻译成一系列标记,这些步骤依次应用: ...

将步骤 2 产生的输入字符流和行终止符转换为输入元素序列(第 3.5 节),在丢弃空格(第 3.6 节)和注释(第 3.7 节)之后,这些元素组成了标记(第 3.5 节)是句法文法的终结符

这里的关键点:空白和注释被丢弃

换句话说,从第一天开始,Java 就对放置空白字符的位置非常宽容。或者有多少,或者是哪一个。


推荐阅读