访问字段和方法时,为什么在点之间的空间没有编译错误?

时间:2019-03-19 19:30:21

标签: java

在访问类的字段时,我不小心在点名和字段名之间有一个空格,例如: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();

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

2 个答案:

答案 0 :(得分:3)

让我们引述java language spec

  

使用以下三个词法转换步骤将原始Unicode字符流转换为令牌序列,这些步骤依次应用:...

     

将步骤2中产生的输入字符和行终止符流转换为一系列输入元素(第3.5节),该输入元素在空格(第3.6节)和注释(第3.7节)之后被丢弃,包括标记( §3.5)是语法的结尾符号

此处的关键点:空白和注释被丢弃

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

答案 1 :(得分:0)

Java是一种自由格式语言,可以根据需要允许空格和缩进。