【发布时间】:2019-01-21 12:46:10
【问题描述】:
这是一个关于java中子类的非常基本的问题,我还是不明白...
假设我有一个包含三个字段且只有默认构造函数的超类:
public class Superclass {
public int a;
public int b;
public int c;
}
我想添加一个字段 x。我无法更改Superclass,所以我创建了一个子类:
public class Subclass extends Superclass {
public int x;
public Subclass(Superclass s) {
super();
// what to do??
}
}
我现在想从现有的Superclass 对象生成Subclass 对象:
Superclass s = new Superclass();
s.a = "a";
s.b = "b";
Subclass sc = new Subclass(s);
sc.x = "x";
这样我仍然可以访问sc.a、sc.b 等。
如果不在子类的构造函数中“手动”分配所有这些字段,我如何才能最好地做到这一点?
【问题讨论】:
标签: java oop constructor subclass superclass