我有5-6个GUI (独立的类),一个根据它们的功能打开另一个,每个GUI都有一个对象在里面,当从Book_GUI.java的座位选择菜单中点击一个JButton“书”时,我把像这样的航班预订系统中的最后一个对象传递给我的图形用户界面
Passenger_GUI frameP = new Passenger_GUI(eco.seats[x][z].getMyPassenger());
frameP.setVisible(true);
eco.seats[x][z].setBooked(true);在Passenger_GUI.java中,我有:
private Passenger passenger_GUI;稍后在构造函数中,在不初始化passenger_GUI的情况下,我将输入Passenger对象赋值给它:
public Passenger_GUI(Passenger myPassenger) {
passenger_GUI = myPassenger;一切正常,没有错误...我有两个问题,我是必须先初始化passenger_GUI,然后再进行赋值,还是没有必要?第二个重要的问题是:我在Passenger_GU to object myPassenger(eco.seats[x][z].myPassenger)中所做的更改是否会被保存在之前的图形用户界面Book_GUI.java中,我想不是因为Passenger_GUI类没有返回值...或者我错了?我如何才能使我在对象上应用的更改稳定并在未来的Book_GUI.java中使用?(以前的图形用户界面)谢谢您的宝贵时间!
这里是完整的类:http://www.copypastecode.com/643018/ http://www.copypastecode.com/643022/
发布于 2013-06-19 21:04:25
passenger_GUI就可以了。由于您向Passenger_GUI构造函数传递的是Object而不是原语,因此Java实际上传递了对该Passenger对象的引用。您的Passenger_GUI.passenger_GUI字段应该引用与eco.seats[x][z].getMyPassenger()相同的对象(实际上,在内存中的相同位置),因此在Passenger_GUI中对该对象所做的任何更改也应该在Passenger_GUI中可见https://stackoverflow.com/questions/17191661
复制相似问题