【发布时间】:2009-04-26 22:38:49
【问题描述】:
我正在尝试使用 TextArea 和继承来在受保护的 textField 属性上实现一些附加功能。
不幸的是,当我创建子类的新实例时,此属性设置为null。我可能误解了super() 的工作方式,但我认为它会在构造函数完成后被实例化。
这是一个扩展 TextArea 的小 sn-p 代码:
public final class ExtTextArea extends TextArea {
public function ExtTextArea() {
super();
}
public function testTextField():void {
if (textField == null)
Alert.show("null!");
}
}
}
调用代码很简单:
var extTextArea:ExtTextArea = new ExtTextArea();
extTextArea.testTextField();
每次运行此代码时,ExtTestArea 中的 Alert 都会出现。
这是为什么?我还需要做些什么来访问textField 属性吗?
【问题讨论】: