跳到主要内容

annotate_overrides

成员 '{0}' 覆盖了继承的成员,但未标注 '@override'。

描述

#

当成员覆盖了继承的成员,但未标注 @override 时,分析器会生成此诊断信息。

示例

#

以下代码会生成此诊断信息,因为类 B 中的方法 m 覆盖了类 A 中同名的方法,但未标记为有意覆盖

dart
class A {
  void m() {}
}

class B extends A {
  void m() {}
}

常见修复方法

#

如果子类中的成员旨在覆盖超类中的成员,则添加 @override 标注

dart
class A {
  void m() {}
}

class B extends A {
  @override
  void m() {}
}

如果子类中的成员并非旨在覆盖超类中的成员,则重命名其中一个成员

dart
class A {
  void m() {}
}

class B extends A {
  void m2() {}
}