Flutter 知识梳理 (Dart) - Dart 中 static, final, const 区别
warning:
这篇文章距离上次修改已过433天,其中的内容可能已经有所变动。
在Dart中,static, final 和 const 关键字用于声明静态成员、只读变量和编译时常量。
static:用于创建类成员的静态版本。这意味着可以在不创建类的实例的情况下访问静态成员。
class MyClass {
static int count = 0;
static void increment() {
count++;
}
}
void main() {
MyClass.increment();
print(MyClass.count); // 输出:1
}final:用于创建只能被赋值一次的变量。实例变量可以是 final 但是必须在构造函数中赋值。
class MyClass {
final int count;
MyClass(this.count);
}
void main() {
var instance = MyClass(10);
// instance.count = 20; // 错误:不能再次分配final变量
print(instance.count); // 输出:10
}const:用于创建编译时常量,这意味着值在编译时就已知且不能更改。
class MyClass {
static const pi = 3.14;
}
void main() {
print(MyClass.pi); // 输出:3.14
}注意:const 变量必须是类的静态成员,因为 const 值在编译时需要知道,而非编译时需要知道的值(如类的实例成员)则不能标记为 const。
评论已关闭