Webstorm错误The class Task does not have a default constructor的GreatTask,我希望Task是工作的'默认的构造函数。
我期待创建一个contracta Task,这样,Task.run()列表中的每个成员都将chain Task.chain[i]像a的成员一样被执行Task,否则我期望一个uncaught error。
我想知道首先要纠正的是Webstorm的代码或配置。
abstract class Task {
List chain;
Task(this.chain);
void run() {
this.chain.forEach((el) => this.el());
}
}
class GreatTask extends Task {
List chain;
GreatTask(this.chain);
String hi() {
return 'hi';
}
}
Run Code Online (Sandbox Code Playgroud)
从技术上讲,“默认构造函数”是您自己不添加任何构造函数时所添加的。会的YourClass(): super();。
术语“默认构造函数”也常用于任何无名称的零参数生成生成器。这就是这里所说的错误。因为和超类没有GreatTask(this.chain);相同的引用,并且没有超名称零参数生成生成器,所以您会遇到错误。GreatTask(this.chain): super();Tasksuper()
Günther的答案通过使GreatTask构造函数调用现有的Task(List list)构造函数而不是不存在的Task()构造函数来解决该问题。
| 归档时间: |
|
| 查看次数: |
3787 次 |
| 最近记录: |