当前位置: 技术问答>java相关
有关JAVA的问题
来源: 互联网 发布时间:2015-02-08
本文导语: 请问方法: public void setDomain(ResultSet resultSet,Domain domain) 我在方法中对Domain进行了一系列操作 接着我在另外的类中调用setdomain方法,请问: 因为setDomain无返回值,那么我的句柄是指向同一个Domain类嘛?就是说我虽...
请问方法:
public void setDomain(ResultSet resultSet,Domain domain)
我在方法中对Domain进行了一系列操作
接着我在另外的类中调用setdomain方法,请问:
因为setDomain无返回值,那么我的句柄是指向同一个Domain类嘛?就是说我虽然无返回值,但是对domain进行操作后,该对象的值也发生变化而不是内存中另外一个domain对象发生了变化
public void setDomain(ResultSet resultSet,Domain domain)
我在方法中对Domain进行了一系列操作
接着我在另外的类中调用setdomain方法,请问:
因为setDomain无返回值,那么我的句柄是指向同一个Domain类嘛?就是说我虽然无返回值,但是对domain进行操作后,该对象的值也发生变化而不是内存中另外一个domain对象发生了变化
|
没错,是这样
但是你注意,你实际上是有两个句柄,只不过是指向了同一个Domain 对象而已。
一个是调这个方法时传给方法的“实参”,另一个是这个方法的形参domain。
JAVA中都是传值调用,但传的都是句柄的值而不是对象的值。所以如果你在方法中令domain指向了另一个Domain对象的话,这个对象就传不回来了。但如果你在方法中domain指的对象始终没有变过,只是这个对象的某些域发生变化了,那这种变化是传得回来的。
但是你注意,你实际上是有两个句柄,只不过是指向了同一个Domain 对象而已。
一个是调这个方法时传给方法的“实参”,另一个是这个方法的形参domain。
JAVA中都是传值调用,但传的都是句柄的值而不是对象的值。所以如果你在方法中令domain指向了另一个Domain对象的话,这个对象就传不回来了。但如果你在方法中domain指的对象始终没有变过,只是这个对象的某些域发生变化了,那这种变化是传得回来的。