是否可以在Dart的类中将方法声明为final?

问题描述

在Java中,可以在类中声明一种方法,以防止子类覆盖它。

例如:

class Foo {

   final void bar() {
     // some code here.
   }

}

Dart中有类似的构造吗?

解决方法

package:meta提供了@nonVirtual annotation来禁止重写方法,并提供了@sealed annotation来完全禁止派生类。

请注意,这些注释仅向dartanalyzer提供提示。它们实际上不会阻止任何违反注释的操作,而是会在执行分析时导致打印警告。