java - 返回对象在Java中是什么意思

标签 java object return

我知道 java 是按值返回而不是按引用返回,所以它复制了一个对象并传递了新的副本。返回语句也是这种情况吗?

return obj;

创建一个新的对象副本或简单地返回当前对象本身。

最佳答案

不,这是一个错误的假设。的确,Java 按值传递所有内容,但这意味着:

  • 标量变量包含值,因此您很容易看出它们是按值传递的。

  • 另一方面,对象变量不包含对象。您可以将它们视为包含对象的伪地址。该伪地址被复制(按值),但它仍然指向同一个对象。 (对象实际上仅使用 new 表达式创建。)

以上对于赋值、参数和返回值都是正确的(对于两种类型的变量)。

关于java - 返回对象在Java中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14500550/

相关文章:

java - 返回java字符串而不是返回null

java - 在 SWT 浏览器中访问 DOM 对象

java - JavaFX 中 AWT/Swing transferFocus 的等价物

java - 渲染期间引发异常 : Circular dependencies cannot exist in RelativeLayout Exception details are logged in Window > Show View > Error Log

javascript - 为什么 Obj2 无法通过 Object.Create() 从 Obj1 中按原型(prototype)找到函数

java - 努力从另一个类获取整数

java - 访问和更改预定义数组中的对象

javascript - 在 JS 中返回 parseInt 给我未定义

java - 捕获文件的高效搜索算法

Java 从 finally block 返回时的奇怪行为