我正在學習Java,所以我希望這個問題不太明顯。我來自另一種沒有垃圾收集的語言。 在這種其他語言中,我有時會在構造函數中創建對象,然後在析構函數中將它們刪除,以便可以在對象的整個生命週期中使用它們。Java中的對象範圍內的對象範圍
作爲一個簡單的例子,我有一個用戶和一個預訂類。預訂類引用了用戶,但是如果我在預訂類的構造函數中創建用戶,那麼它會在用戶離開構造函數並超出作用域時將其解引用。以後任何對booking.bookedBy用戶的引用調用都會返回null。
class user {
public String username;
public String displayName;
user(Connection conn, String usernameIn){
username = usernameIn;
... do DB stuff to populate attributes
}
}
class booking {
int bookingID;
user bookedBy;
...
booking(Connection conn, int bookedIDIn){
bookingID = bookedIDIn;
...do DB stuff to populate attributes and grab bookedByUserID
...field value and build the BookedByUsername
user bookedBy = new user (bookedByUsername)
}
}
有沒有辦法解決這個問題?還是我需要重新考慮我的設計?
請不要使用小寫的類名。 – Thilo 2010-10-14 01:33:44
採取的措施 - 我會盡量符合。是否有標準的命名約定記錄在任何地方?另一個我更喜歡不區分大小寫的語言的原因。 – Peter 2010-10-14 07:02:45
http://www.oracle.com/technetwork/java/codeconv-138413.html – 2010-10-14 14:27:05