版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxl517116279/article/details/88561292
静态变量
static定义
声明
class People {
static String name = 'abcd';
}
调用
静态变量可以通过外部直接访问,不需要将类实例化
print(People.name);
函数内部访问
实例化后的类也可以访问该静态变量
声明
class People {
static String name = 'abc';
void show() {
print(name);
}
}
调用
var p = new People();
p.show();
不能用 this
因为静态变量实际上存在于类中,而不是实例本身
class People {
static String name = 'abc';
void show() {
print(this.name);//错误
}
}
静态方法
静态方法可以通过外部直接访问
声明
class People {
static String name = 'abc';
static void printName() {
print(name);
}
}
调用
People.printName();
总结
- 实例化后将无法通过外部直接调用 static 成员
- 静态成员与实例成员是分开的, 静态成员处于类的定义体中, 实例成员处于类的实例中