2

クラス U があり、クラスのコンストラクターで、パブリックなオーバーライド可能なメソッドを呼び出します。NetBeans は次のように警告しています。Overridable method call in constructor

ただし、クラス U にはサブクラスがないため、プロジェクトではメソッドをオーバーライドしません。このままでいいのでしょうか? ....この場合、コンストラクターでオーバーライド可能なメソッドを呼び出しますか?

4

3 に答える 3

1

すでに述べたように、警告は「無視」できます。

ただし、バグが後日忍び寄る可能性があるため、自己責任で行ってください。警告の理由は、「this」への参照がコンストラクターをエスケープしないことをコンパイラーが証明できないためです。作成中のオブジェクトがまだ完全に構築されていないため、オブジェクトが無効な状態になる可能性があるため、これはバグにつながる可能性があります。

于 2013-03-13T13:22:57.133 に答える