缺少标识符,即使它在上面定义了一行?

Dog*_*Dog 1 java unicode syntax

让我们看看这个简单的Java程序:

class A {
    public static void main(String[] args) {
        int ? = 2;
        System.out.println("a " + a);
    }
}
Run Code Online (Sandbox Code Playgroud)

它创建a初始化为的变量2,并将其打印出来.但是,它不编译:

    $ javac A.java && java A
    A.java:4: cannot find symbol
    symbol  : variable a
    location: class A
            System.out.println("a " + a);
                                      ^
    1 error

为什么?

Jon*_*eet 10

你有两种不同的类型a.如果你将第一个重新键入为ASCII a,那很好.

第一个a是U + 0430,"Cyrrilic小写字母a".(参见相关的Unicode图表.)

我个人会尝试尽可能将Java中的所有标识符保存为ASCII字符.

(这段代码甚至从哪里开始?)