dart - 该类没有默认构造函数

标签 dart

Webstorm 错误 The class Task does not have a default constructorGreatTask , 我期待 Task是`Task的默认构造函数。

我期待创建一个 contractTask ,使得在 Task.run() 上, 对于列表中的每个成员 chain Task.chain[i]被执行,因为它是 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';
  }
}

最佳答案

如果您自己不添加任何构造函数,则“默认构造函数”(技术上)是添加的构造函数。它将是 YourClass(): super(); .

术语“默认构造函数”也常用于任何无名零参数生成构造函数。这就是这里的错误所说的。
因为 GreatTask(this.chain);GreatTask(this.chain): super(); 相同和父类(super class) Task没有 super() 的无名零参数生成构造函数引用,你有一个错误。

Günther 的回答通过制作 GreatTask 解决了这个问题。构造函数调用现有 Task(List list)构造函数而不是不存在的 Task()构造函数。

关于dart - 该类没有默认构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32595288/

相关文章:

syntax - dart mixin 'with' 不能在没有 'extends' 的情况下使用?

dart - 如何在flutter中动态设置State变量?

flutter - 如何检查 flutter 应用程序中的网络调用

flutter - 为什么我的 Flutter Web 应用调试无法在浏览器中打开?

flutter - 将 Flutter 小部件变换/平移到其宽度的负 50%

flutter - 如何在Flutter Web中管理 session 和导航的最佳方法

Dart:无需重新加载的动态重定向

macos - dart2js不会抛出此类文件或目录错误

flutter - Flutter Application 中的 Ephemeral state 和 App state 是什么意思?

flutter - Flutter Dart Bottomsheet错误上下文=上下文