0

私は次のクラスを持っています:

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();
    }
  }

}

しかし、nullLabel.contextMenuをチェックしているときに null 参照例外を取得する必要がありますか? また、宣言した場所で静的メンバーをインラインで初期化できますか?

4

1 に答える 1

2

このコードで null 参照例外が発生することはありません。私はそれをテストしましたが、エラーは発生しません。

静的メンバーをインラインで確実に初期化できます。そうすべきかどうかは、状況によって異なります。contextMenu が変更されない場合は、最終的なものにすることも検討してください。

static final PopOver contextMenu = new PopOver();
于 2013-09-04T21:29:35.750 に答える