在线等待,请教关于参数传递的问题!!

时间:2022-08-29 21:10:19
做连接池的时候,我写了一个类ConnectionPool里面包含一个用来存储创建的连接的Vector类型的实体---Vec,然后又写了一个用来侦测连接的线程类CheckVec(继承Thread),我在CheckVec类里面创建了一个ConnectionPool类型的变量,然后在它的构造函数中传入ConnectionPool实体并将它赋值给CheckVec类里面的ConnectionPool类型变量,那么现在我对ConnectionPool类型的变量的操作,是不是就是对传入实体ConnectionPool的操作?简单地说,我是想问,Java中函数的传入值什么时候传入的是地址,什么时候传入的是传入值的复制品?

8 个解决方案

#1


java中传值都是传值~~没有传地址~~~
如果是对象~~因为传进去的值的复制和原来值是指向同一个地方~所以值会改变~~

#2


只要参数是对象,传递的都是引用。除非你自己动手CLONE一个对象传过去。
如果参数是如:int,float,boolean 等primitive类型,则传递的是值。

#3


看下《Thinking in java》的附录A

#4


关注

#5


java在传递一个引用作为参数的时候是传递的并不是引用而是他的拷贝!
所以如果要是调用这个引用的话他还是指向原来的对象。什么传值,传址
都不是了!

#6


关注

#7


up

#8


何谓引用

#1


java中传值都是传值~~没有传地址~~~
如果是对象~~因为传进去的值的复制和原来值是指向同一个地方~所以值会改变~~

#2


只要参数是对象,传递的都是引用。除非你自己动手CLONE一个对象传过去。
如果参数是如:int,float,boolean 等primitive类型,则传递的是值。

#3


看下《Thinking in java》的附录A

#4


关注

#5


java在传递一个引用作为参数的时候是传递的并不是引用而是他的拷贝!
所以如果要是调用这个引用的话他还是指向原来的对象。什么传值,传址
都不是了!

#6


关注

#7


up

#8


何谓引用