【发布时间】:2014-12-05 07:10:20
【问题描述】:
这似乎是一件几乎没有人意识到的事情,但Java中的“this reference”是最终的。在正常的编程日,我认为我可以通过在自己的类中重新定义 this 引用来重新定义整个实例:
public void method() {
this = new MyObject("arg1", arg2, arg3); //it throws a compile error
}
为什么 this 引用在 Java 中是最终的?
【问题讨论】:
-
防止人们编写这样的代码。
-
It seems a thing that almost no one has realized每个用 Java 写过真实程序的人都会意识到这一点。 -
final 仅与引用有关,与被引用对象的内容无关。
-
'this' 是关键字而不是变量,您不能将某些内容分配给关键字。就是这样!