[英]How do I pass an object created in one class to another in java?
我正在嘗試開發在線酒店預訂系統。 我有一個主類,它從用戶那里獲取輸入信息,例如他們的姓名,他們的付款信息和其他數據字段,並使用該信息創建一個Reservation
對象。 我還有一個名為Room
類,該類具有每個Room
對象的Reservations
列表。 我遇到的問題是我想不出一種方法來將Reservation
對象添加到Room
對象的列表中。 這是一些代碼:
public class HotelReservationSystem
{
private Reservation reservation;
public void makeReservation(int checkIn, int checkOut)//Other parameters
{
reservation = new Reservation(checkIn, checkOut);
}
}
public class Room
{
private ArrayList<Reservation> reservations;
public void addReservation(//parameters?)
{
reservations.add(//parameter?);
}
}
我不知道如何獲取新的Reservation
對象作為Room
類中add
方法的參數來傳遞。 我只是束手無策,希望有人能幫助我慢跑。
謝謝你的幫助。
讓makeReservation返回創建的Reservation對象:
public Reservation makeReservation(int checkIn, int checkOut)//Other parameters
{
reservation = new Reservation(checkIn, checkOut);
return reservation;
}
(您也可以創建用於reservation
的吸氣劑)
然后像這樣更改您的addReservation:
public void addReservation(Reservation res)
{
reservations.add(res);
}
然后像這樣添加它:
HotelReservationSystem hrs = new HotelReservationSystem();
Reservation res = hrs.makeReservation();
Room room = new Room();
room.addReservation(res);
但是,您可能需要重新考慮模型。 現在,您的HotelReservationSystem
正在創建預訂,並且僅保存該預訂,並覆蓋舊預訂。 如果創建多個對象會怎樣? 另外,給定HotelReservationSystem對象,如何獲得特定房間的預訂? 只是要考慮的一些事情...
我相信您一定已經嘗試過
public void addReservation(Reservation reservation)
{
reservations.add(reservation);
}
但是這里的問題是您的列表reservations
為空,並且將拋出空指針異常。 因此最好在聲明時將其初始化。 所以改變這個
private ArrayList<Reservation> reservations;
至
private ArrayList<Reservation> reservations = new ArrayList<Reservation>();
然后在Hotel
類的makeReservation
方法中執行以下操作:
Room room = new Room();
room.addReservation(reservation);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.