我有这段代码:
public class Zabojnik {
private String oznaka;
private int maksimalnaTeza;
private int maksimalnoSteviloPredmetov;
**private Object predmeti[];**
}.....
我想在我的子类的construcor中创建 Object predmeti [] :
public class HladilniZabojnik extends Zabojnik {
public HladilniZabojnik() {
}
public HladilniZabojnik(String oznaka, int maksimalnoSteviloPredmetov, int maksimalnaTeza) {
super(oznaka, maksimalnoSteviloPredmetov, maksimalnaTeza);
}
}
如何在不将predmeti []更改为受保护的情况下执行此操作???
答案 0 :(得分:0)
如果您已经有该字段的setter:
public HladilniZabojnik(String oznaka, int maksimalnoSteviloPredmetov, int maksimalnaTeza) {
super(oznaka, maksimalnoSteviloPredmetov, maksimalnaTeza);
setPredmeti(new Object[size]); // use the size you need/want
}
如果没有setter,但您确实可以访问父类,则可以更改或添加其他构造函数:
class Zabojnik {
// fields
// optional constructor of 3 fields
public Zabojnik(String oznaka, int maksimalnoSteviloPredmetov, int maksimalnaTeza, Object[] predmeti) {
// ... rest of the constructor or call to this() with the 3 fields
this.predmeti = predmeti;
}
}