me_*_*jay 1 java return object
我知道java是按值返回而不是通过引用返回,因此它会生成对象的副本并传递新副本.返回语句也是如此吗?是吗?
return obj;
Run Code Online (Sandbox Code Playgroud)
创建一个新的对象副本或简单地返回当前对象本身.
不,这是一个错误的假设.Java确实按值传递所有内容,但这意味着以下内容:
标量变量包含值,因此您可以轻松地看到它们是按值传递的.
另一方面,对象变量不包含对象.您可以将它们视为包含对象的伪地址.该伪地址被复制(按值),但它仍然指向同一个对象.(实际上只使用new表达式创建对象.)
对于赋值,参数和返回值,上述情况(对于两种类型的变量)都是如此.
| 归档时间: |
|
| 查看次数: |
896 次 |
| 最近记录: |