飞镖码:
main() {
print(PPP.name);
print(CCC.name);
}
class PPP {
static String name = "PPP";
}
class CCC extends PPP {
}
打印:
PPP
Unhandled exception:
No static getter 'name' declared in class 'CCC'.
NoSuchMethodError : method not found: 'name'
Receiver: Type: class 'CCC'
Arguments: [...]
所以在Dart中访问父类的静态变量是不可用的?
答案 0 :(得分:4)
来自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中访问父类的静态变量吗?
答:父类的静态变量不能在子类中访问(作为它自己的),因为它在子类中不存在(不是继承)。