Dart,静态成员上的null引用异常

时间:2013-09-04 20:49:55

标签: dart

我有以下课程:

class Label{

  static PopOver contextMenu; // can I put = new PopOver(); here?

  Label(){
    if(Label.contextMenu == null){ //null reference exception here why????
      Label.contextMenu = new PopOver();
    }
  }

}

但是我在Label.contextMenu上得到一个空引用异常,当我检查null时,我是否会得到一个空引用异常?你也可以在你声明它们的地方初始化静态成员吗​​?

1 个答案:

答案 0 :(得分:2)

您不应该使用此代码获取空引用异常。我测试了它,我没有收到任何错误。

您绝对可以初始化内联静态成员。是否应该这样做取决于具体情况。如果contextMenu永远不会改变,请考虑将其设为最终:

static final PopOver contextMenu = new PopOver();