1

" " の前に次を挿入するとpublic GUI()、警告は消えますが、どうしたのですか?

  @SuppressWarnings("OverridableMethodCallInConstructor")

私は本当に何をすべきですか?なぜ?

public class GUI extends javax.swing.JFrame {

  boolean plusActive;
  boolean minusActive;
  boolean timesActive;
  boolean divActive;
  boolean toTheActive;

  public GUI() {
    initComponents();
    zapOperatorBooleans();
  }

  public void zapOperatorBooleans(){
    plusActive = false;
    minusActive = false;
    timesActive = false;
    divActive = false;
    toTheActive = false;
  }
  ...

(ツール>オプション>ヒントで)「オーバーライド可能なメソッドを呼び出すと、コンストラクターで危険になる可能性があります。これは、オーバーライドされたメソッドが呼び出された瞬間にオブジェクトが完全に初期化されていないためです」と読みましたが、それは私が決定するのに役立ちません私がすべきこと。

4

2 に答える 2

1

またはとして宣言zapOperatorBooleansします。理由については、http://www.javapractices.com/topic/TopicAction.do?Id= 215 を参照してください。finalprivate

于 2013-10-24T00:13:37.210 に答える