跳到主要内容

abstract_field_initializer

抽象字段不能有初始化器。

描述

#

当带有 abstract 修饰符的字段也带有初始化器时,分析器会产生此诊断信息。

示例

#

以下代码会产生此诊断信息,因为 f 被标记为 abstract 并带有一个初始化器

dart
abstract class C {
  abstract int f = 0;
}

以下代码会产生此诊断信息,因为 f 被标记为 abstract 并且构造函数中有一个初始化器

dart
abstract class C {
  abstract int f;

  C() : f = 0;
}

常见修复方法

#

如果字段必须是抽象的,则移除初始化器

dart
abstract class C {
  abstract int f;
}

如果字段不需要是抽象的,则移除关键词

dart
abstract class C {
  int f = 0;
}