如图为什么有return的可以……而在方法赋值不可以……求回答
解决方案 »
- 怎样获取一个字符串的指定字符后面的一个字符??急急!!!
- 关于sql里面的group by的写法求助。
- C++如何与JMS通讯
- 为什么在MyEclpise里面不可以新件J2EE项目?请各位帮帮忙。。。。谢了
- socket xml通讯问题
- hibernate源码下载在哪里啊?急!!!
- 50分求《精通struts:基于mvc的java web设计与开发》的例子源代码。
- 请问在TOMCAT中,.JAVA和.CLASS文件应该放在哪个目录下?
- 定义JBOSS下的ENTITY BEAN之间的关系时的错误!?
- struts上传文件时,如何将其转变为blob类型
- 动态多数据源问题
- Spring Boot配置ssl证书 多个证书要怎么写?
效果是一样的啊去掉
嗯嗯 明白了 问了一些人 你可以看下这个https://www.cnblogs.com/hpyg/p/8005599.html?tdsourcetag=s_pcqq_aiomsg
这么讲吧,比如说我电脑里面有一张照片,你想要这张照片,然后我复制一份发给你,你对这张照片进行了ps,但是没有给我,然后你问我为啥我的照片和你的那张不一样。
就和你写的差不多,你方法返回值为void,调用方法后就在内存中重新开辟一个区域,将传递的值复制过来,再进行操作,然后方法结束,整个区域就被删除。
表达不好,说不清楚,自己去看书。
你在方法里边重新new一个对象出来,然后赋值给你的形参的时候,
其实是将新对象的地址值赋给了形参,这个操作跟你传递基本类型的变量进行修改后不生效是一个道理的。
看图吧,说不清楚
你说的也不对 你那是说的基本类型值传递,所以是新开辟空间,引用类型又没有开辟新空间,这里只是引用在new User2赋值给user1时,user1的引用不再指向原来的user1了而已,只是基础不扎实,没必要说出“建议重新学java这种话吧”
你这有点复杂啊画的,假设main方法里声明的是user1,参数是user2,方法里声明的是user3,那user3赋值给user2前后是不是这样:
然后方法调用完毕user2和user3都回收了,所以user1指向的对象一直没变