我有一个扩展JList的类,我不知道如何使JList构造函数在我的类中工作。我知道这可以使用JList构造函数:
DefaultListModel model = new DefaultListModel();
JList list = new JList(model);
相反,如果我对我的班级做同样的事情:
DefaultListModel model = new DefaultListModel();
DatabaseJList lista = new DatabaseJList(model);
IDE建议我删除与DatabaseJList匹配的参数。
当我扩展它时,不应该是继承到我的类的Jlist构造函数吗?
感谢您的帮助;)
答案 0 :(得分:4)
没有。您必须显式定义构造函数。您要“继承”的任何构造函数都必须在子类中定义,并且很可能必须使用相同的参数调用super(..)
。
答案 1 :(得分:1)
构造函数不是继承的(至少,不是你想到的意义上的)。您必须明确地编写这样的构造函数:
class DatabaseJList extends JList {
public DatabaseJList(ListModel model) {
super(model); // Call through to the super-class constructor
}
...
}
答案 2 :(得分:0)
您可以使用
在类的构造函数中调用超类的构造函数super(...)
使用与超类相同的参数在类中定义构造函数。然后只需使用super()调用超类构造函数,然后继续进行初始化
请记住,super()应位于构造函数的第一行
答案 3 :(得分:0)
我认为你需要把超级(模特);在您的DatabaseJList构造函数
中