使用Java这个关键字

Dus*_*Sun 7 java this

在类构造函数中,我尝试使用:

if(theObject != null)
    this = theObject; 
Run Code Online (Sandbox Code Playgroud)

我搜索了数据库,如果记录存在,我使用theObject的Hibernate查询生成.

为什么我不能使用this

Sid*_*Sid 17

这是因为'this'不是变量.它指的是当前的参考.如果你被允许重新分配'this',它将不再是'this',它将变成'那'.你不能做这个.


Abd*_*ahC 5

this不是变量,而是值.你不能this在表达式中使用左值.

  • @skaffman:从Java语言规范,"关键字`this`表示**值**,它是对调用实例方法的对象的引用".见http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.8.3 (2认同)