提问人:Devin 提问时间:11/16/2023 最后编辑:Devin 更新时间:11/16/2023 访问量:21
Dart 初始化和 final、final late
Dart initialization and final, final late
问:
嗨,开发人员!我正在使用 Dart 进行颤动。我试图弄清楚为什么下面的代码不需要“late”或“final”作为其变量。我知道这些术语的含义,但我对代码实际启动或“初始化”的时间和地点感到困惑。
有人可以帮我分解一下或给我一些例子吗?我真的很感激!
谢谢!
`
class Player {
final String name;
String mode;
//`why we do not need late final or late here? `
int xp;
int level;
Player(this.name, this.mode, this.xp, this.level);
// as we declare variables with **'this'** , we initialized variable?
void playGame() {
print("You choose $name, $mode. detail: xp = $xp, play level = $level",);
}
}
void main() {
var player = Player("King99", "Wizard",1000, 1);
`// or initialization happened here?`
player.playGame();
var player2 = Player("Queen11", "Wizard", 5000, 3);
player2.playGame();
}
答: 暂无答案
评论
final
late
final
const
final
late
Player
final
late
final
late
final
late
Player
String mode;
int xp;
int level;
mode
、 和 应该是可变的(玩家的经验和等级可以改变),所以它们不应该是 .他们没有理由. 应仅在必要时使用。调用构造函数时,将初始化所有成员。我建议阅读 Dart 语言之旅,特别是 dart.dev/language/constructors。xp
level
final
late
late