这是`this`在Java中的指针吗?

Sco*_*ion 1 java pointers terminology reference

我已经读过Java中没有指针概念,但是我也曾多次读过thisJava中引用当前对象的关键字.我仍然感到困惑的是,是否this可以将其作为指针调用,或者它是否根本不是指针.

如果它不是指针,它怎么能引用一个对象?如何保留当前对象的引用?我已经读过,对于C++,它this是一个包含当前对象地址的指针.

JB *_*zet 5

是的,Java中的每个对象类型变量实际上都是一个指针,但我们大多数时候都将它称为引用.它仍然是一个指针,因为如果它为null并且你取消引用它,你会得到一个NullPointerException.

Java中有指针,但没有指针算法.例如,您不能像在C中那样递增指针.

另外:JavaScript和Java是两种截然不同的语言.你的问题不应该被标记为javascript.

  • @CPerkins:Java的参考并不是大多数人的想法,而是JLS所说的.第4.3.1节说:"引用值(通常只是引用)是指向这些对象的*指针*,以及一个特殊的空引用,它引用没有对象.索引表示"指针":参见引用.它们是同义词在JLS中. (3认同)