问题描述
在Java中,可以在类中声明一种方法,以防止子类覆盖它。
例如:
class Foo {
final void bar() {
// some code here.
}
}
Dart中有类似的构造吗?
解决方法
package:meta
提供了@nonVirtual
annotation来禁止重写方法,并提供了@sealed
annotation来完全禁止派生类。
请注意,这些注释仅向dartanalyzer
提供提示。它们实际上不会阻止任何违反注释的操作,而是会在执行分析时导致打印警告。