У меня есть два следующих класса:
public class User {
public Integer userId;
// ...another 50-60 fields
}
public class SuperUser extends User {
}
Я хотел бы иметь конструктор в SuperUser, который принимает объект типа User и создает объект типа SuperUser.Например:
public SuperUser(User theUser) {
// not legal -> but I am looking for a one-liner to initialize this with values from theUser
this = theUser;
}
Если в объекте User отсутствует конструктор User (пользователь существующий пользователь), существует ли какой-либо автоматический способ инициализации объекта SuperUser со всеми полями из существующего пользовательского объекта?Я пытаюсь избежать 50 строк:
public SuperUser(User theUser) {
this.firstName = theUser.getFirstName();
this.lastName = theUser.getLastName();
// and so on....
}
Если это невозможно, есть ли рефакторинг, такой как «Создать конструктор копирования?»
Спасибо!