【问题标题】:Can't visit static variable of parent class in Dart?Dart 中无法访问父类的静态变量?
【发布时间】:2013-07-14 08:27:42
【问题描述】:

飞镖代码:

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 中不能访问父类的静态变量?

【问题讨论】:

    标签: dart


    【解决方案1】:

    来自 Dart 编程语言规范:

    一个类的static members是它的静态methodsgetterssettersstatic variables

    • Superclass static membersnot in scope in subclassesdo not conflictsubclass members
    • 静态成员为never inherited
    • 静态成员never override anything

    因此,如果您在超类中声明了一些静态成员,那么这些成员不会在子类中继承。

    它们保留在它们声明的那个类中,并且不与子类中的其他声明静态成员冲突。


    问:Dart 中不能访问父类的静态变量?

    A:父类的静态变量不能在子类中访问(作为自己的),因为它在子类中不存在(不继承)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 2023-04-01
      • 2022-01-24
      • 2012-02-04
      • 2014-11-23
      相关资源
      最近更新 更多