我刚刚开始学习Java。
我正在帮助我学习的朋友刚给我发了这个邮件,并说“想出来”。
不幸的是我无法阅读。在我看来,它就像Perl。
class _{_ _;_(){_=this;}}
这是什么意思?
我刚刚开始学习Java。
我正在帮助我学习的朋友刚给我发了这个邮件,并说“想出来”。
不幸的是我无法阅读。在我看来,它就像Perl。
class _{_ _;_(){_=this;}}
这是什么意思?
Answers:
_
是班级名称。这是一个非常令人困惑的方法,但是它可以工作!
将类重命名为:
class Something {Something something;Something(){something=this;}}
并清理:
class Something {
Something something;
Something() {
something=this;
}
}
您可能会因为这种奇怪的命名而发疯 :)
class _{_ __;_ ____;_(){__=this;____=__;}_(_ ___){__=___;}}
实际上,甚至支持Unicode,因此这是有效的:
class 合法類別名稱{合法類別名稱(){}}
get crazy
示例中几乎没有错误。(1)____=__
(两次)您忘记添加分号,(2)如果您尝试重载_
方法,则还需要传递类型,因此_(___)
应该是_(_ ___)
。这是它的外观class _{_ __;_ ____;_(){__=this;____=__;}_(_ ___){__ = ___;}}
。等一下。我刚刚调试下划线了吗?现在该刹车了。
_
是类名,下划线是有效的Java变量名,您只需缩进代码即可对其进行模糊处理:
class _{
_ _;
_(){
_=this;
}
}
喜欢:
class A{
A A;
A(){
A=this;
}
}
编辑:感谢@Daniel Fischer
类型名称和变量名称具有不同的名称空间。例如,代码
class FOO { FOO FOO; }
在Java中有效。
概要
_
是一个类名,例如 class _{
_
是班级成员的名称,例如在_ _;
和_=this
_
是一个构造函数名称,例如 _()
请记住:Java使用六个不同的名称空间:
- 套件名称
- 类型名称
- 字段(变量)名称,
- 方法名称,
- 局部变量名称(包括参数),以及
- 标签。
此外,每个声明的枚举都有其自己的名称空间。不同类型的相同名称不会冲突;例如,一个方法可以命名为与局部变量相同。
class FOO { FOO FOO; }
作品。
data Foo = Foo | Bar Int
可以使用。当然,它只能在您可以从中识别出标识符类别的语言中工作。