在Dart中,我有以下代码:
class FirstClass {
FirstClass(a) {
}
}
class SecondClass extends FirstClass {
}
这会导致
SecondClass
出现错误,因为FirstClass
没有默认的构造函数。但是,当我尝试添加一个。
class FirstClass {
FirstClass(a) {
}
FirstClass() {
}
}
由于默认构造函数已经在
FirstClass
中定义,因此会出错。我似乎可以做到这一点且不会出错的唯一方法是,如果父类(super class)根本不实现任何构造函数。我究竟做错了什么?
最佳答案
在dart中,您不能多次使用相同的方法/构造函数名称(即使使用不同的参数)。
您可以使用命名构造函数定义2个构造函数:
class FirstClass {
FirstClass() {}
FirstClass.withA(a) {}
}
或将
a
定义为可选,并仅保留一个构造函数:class FirstClass {
FirstClass([a]) {}
}