跳到主要內容

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;
}