【发布时间】:2020-02-03 05:32:00
【问题描述】:
class Foo {
Foo(int y);
}
class Bar extends Foo {
int value;
Bar(int x) { // error in this line
value = x;
print("Hi there");
super(x); // error in this line
}
}
如何在构造函数体中调用super?
注意:
我知道我可以使用初始化列表来解决它,但我想知道如何在方法体内调用super?
Bar(int x): value = x, super(x); // works but I am not looking for it.
【问题讨论】:
-
据我所知,你不能。请问你想达到什么目的?
-
我同意:你不能那样做。那么你想实现什么是通过在初始化列表中调用
super无法实现的呢? -
@lrn 我来自 Java 背景,所以出于好奇,我想知道这是否会在 dart 中发生。
-
那么答案是正确的:它不能。您只能在初始化列表中执行超级构造函数调用。调用超级构造函数后,主体完全运行。