Я изучаю 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
Точка взята - я постараюсь соответствовать. Существует ли какое-либо стандартное соглашение об именах? Еще одна причина, по которой я предпочитаю нечувствительные к регистру языки. – Peter
http://www.oracle.com/technetwork/java/codeconv-138413.html –