java中的对象修改
给定这些对象构造函数:java中的对象修改,java,oop,object,methods,constructor,Java,Oop,Object,Methods,Constructor,给定这些对象构造函数: public class Reservation { private int roomNum; private int numPeople; private int endTime; public Reservation() { this.roomNum = 100; this.numPeople = 100; } public Reservation(int roomNum, int endTime) { this.roomNum = roomN
public class Reservation {
private int roomNum;
private int numPeople;
private int endTime;
public Reservation() {
this.roomNum = 100;
this.numPeople = 100;
}
public Reservation(int roomNum, int endTime) {
this.roomNum = roomNum;
this.numPeople = 30;
this.endTime = endTime;
}
还有这些东西
Reservation a = new Reservation();
Reservation c = new Reservation(309, 12);
如果我设定
a = c;
a.addTime(2) // adds number of hours to endTime
这会将a.endTime从12更改为14,还是也会影响c.endTime?若然,原因为何 在a=c之后,绑定到a的原始对象已丢失,将被垃圾回收。a与c保存的对象相同。或者它也会影响c.endtime吗?我原以为自己测试会比写这个问题快。是的,会的。在java中,变量只是对对象的引用。a和c在内存中引用同一个点。虽然我注意到您的方法addTime似乎没有定义,所以真正的结果可能是编译错误。为什么?因为a=c不是c的复制品。嗯……我确实测试过了,哈哈。但我得到了一个意想不到的结果,这就是为什么我想澄清这是什么,以及为什么结果是什么。@ElliottFrisch以54毫秒的优势击败了你