【发布时间】:2011-09-09 06:21:55
【问题描述】:
我有一堂课:
public abstract class LogicGate extends JPanel implements PropertyChangeListener {
private Image image;
private URL url;
private OutputTerminal output;
private Terminal input0;
private Terminal input1;
public LogicGate(String fileName) {
this.url = getClass().getResource(fileName);
this.image = new javax.swing.ImageIcon(url).getImage();
this.setSize(image.getWidth(null), image.getHeight(null));
this.output = new OutputTerminal();
}
}
和一个子类:
public class ANDGate extends LogicGate {
private OutputTerminal output;
private Terminal input0;
private Terminal input1;
public ANDGate() {
super("images/AND.gif");
System.out.println(this.output);
}
}
然而,当我调用一个新的 ANDGate 对象时,output 是 null,而它本应被分配(根据超级构造函数)。
现在很明显,我在理解子类构造函数方面做了一个假设;我做错了什么?
【问题讨论】:
标签: java oop constructor