飞镖代码:
main() {
print(PPP.name);
print(CCC.name);
}
class PPP {
static String name = "PPP";
}
class CCC extends PPP {
}
Run Code Online (Sandbox Code Playgroud)
它打印:
PPP
Unhandled exception:
No static getter 'name' declared in class 'CCC'.
NoSuchMethodError : method not found: 'name'
Receiver: Type: class 'CCC'
Arguments: [...]
Run Code Online (Sandbox Code Playgroud)
因此,无法在Dart中访问父类的静态变量吗?
根据Dart编程语言规范:
在static members一类是它的静态methods,getters,setters和static variables。
Superclass static members是not in scope in subclasses,并且do not conflict与subclass members。never inherited。never override anything。因此,如果在超类中声明一些静态成员,则这些成员不会在子类中继承。
它们保留在声明的类中,并且与子类中的其他声明静态成员不冲突。
问:无法在Dart中访问父类的静态变量?
答:在子类中不能访问父类的静态变量(作为其自身),因为它在子类中不存在(不继承)。
| 归档时间: |
|
| 查看次数: |
832 次 |
| 最近记录: |