在下面的这段代码中,
class SimpleClass {
final String ID;
BusInformationScreen({this.ID});
var output = ID;
}
我遇到一个错误
Only static members can be accessed in initializers.
所以我在下面调整了代码。
class SimpleClass {
static final String ID;
var output = ID;
}
我想,如果我将ID
声明为static
,则不必初始化它,但是会出现这样的错误。
The final variable 'ID' must be initialized.
我无法声明变量output
的原因是什么?
class SimpleClass {
final String ID;
final String output;
SimpleClass_2 simpleclass_2 = SimpleClass_2(parameter: ID), SimpleClass_2 simpleclass_2 = SimpleClass_2(parameter: ID);
SimpleClass({this.ID}): output = ID;
}
class SimpleClass_2 {
final parameter;
SimpleClass_2({
this.parameter
});
}
答案 0 :(得分:2)
(我假设BusInformationScreen
是SimpleClass
的构造函数)
问题是
var output = ID;
您正在尝试在构造类之前为output
设置值。您可以在初始化列表中进行设置:
SimpleClass({this.ID}):
output= ID;