JAVA引用类型变量的值如何理解

引用类型变量表示在栈中引用了一个地址指向了堆中的对象,那么通常所说的这个变量的值指的是对象还是地址?如果一个引用类型的值为null,如何理解?地址为空还是引用一个地址指向一个空对象?谢谢!

变量的值对于引用对象,说的是堆上的那个对象,对于简单类型说的就是字面的值。堆上的简单对象会被装箱到堆栈上的变量中。

引用相当于指针。引用为null,这个引用不指向任何对象,相当于空指针。不是空对象。而是根本不指向对象。
java没有空对象的概念。

如果你学过C 可以把它类比这看待。某种类型的指针变量: int i = 0; int* p = &i; &i 是个地址值。 在java中也可以这样理解:引用类型变量: 指向堆中这个类型的对象地址值,引用类型变量为null,表示不指向任何对堆中的对象,因为地址值为空。

对于引用变量本身来说,他只是一个指向堆内存的地址,当我们要获取他的值的时候,是根据这个地址找到的在堆内存中的值

对于引用来说,当然指定的是地址,而如果你的应用为空,那么就是传说中的空指针!

基本数据类型变量就像是直接放在柜子里的东西,而引用数据类型变量就是这个柜子对应编码的钥匙。钥匙号和柜子对应。
引用类型的值是null,表示不指向任何对堆中的对象,因为地址值为空。而java中没有空对象概念