【发布时间】:2015-01-10 15:35:42
【问题描述】:
在 Java 中,我可以声明一个变量,其名称与其类名完全相同。我认为这是一个如此令人困惑和奇怪的设计。
所以我在下面的代码sn-p中有一个问题:编译器如何区分ClassName,是引用了变量名还是类名?
在运行结果中,编译器引用ClassName作为变量名。
class ClassName{}
public class Test {
public static void main(String[] args){
ClassName ClassName = new ClassName();
System.out.println(ClassName); //ClassName@18fb53f6
}
}
【问题讨论】:
-
@LuiggiMendoza *lower camelCase.
-
"运行结果,编译器引用“类名”作为变量名。"这不是真的。是类名,不是变量名!
-
“我认为这是一个令人困惑和奇怪的设计”-@LuiggiMendoza 已经为您回答了这个问题。此外,您必须记住,如果有助于让事情变得更简单,您始终可以将 _ 与数字结合使用。
-
相关(有点)stackoverflow.com/q/15648312/1393766 :)
标签: java class compiler-construction