Java инициализировать поля базового класса в конструкторе подклассаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java инициализировать поля базового класса в конструкторе подкласса

Сообщение Anonymous »

Это очень простой вопрос о подклассах в Java, я до сих пор его не понимаю...

Предположим, у меня есть суперкласс с тремя полями и только конструктор по умолчанию:

Код: Выделить всё

public class Superclass {
public int a;
public int b;
public int c;
}
и я хочу добавить поле x. Я не могу изменить суперкласс, поэтому создаю подкласс:

Код: Выделить всё

public class Subclass extends Superclass {
public int x;
public Subclass(Superclass s) {
super();
// what to do??
}
}
Теперь я хочу создать объект подкласса из существующего объекта суперкласса:

Код: Выделить всё

Superclass s = new Superclass();
s.a = "a";
s.b = "b";
Subclass sc = new Subclass(s);
sc.x = "x";
таким образом, что я все еще могу получить доступ к sc.a, sc.b и т. д.

Как мне лучше всего это сделать, не назначая все эти поля «вручную» в конструкторе подкласса?

Подробнее здесь: https://stackoverflow.com/questions/518 ... onstructor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»