2016-05-02 10 views
-7

大きなクラスファイルを変更しています。私が望むことを達成する最も簡単な方法は、クラスのグローバル変数をfinalに変更して値を設定することです。しかし、私は決して使用済みの決勝戦はできません。これはファイル全体のセッターメソッドに問題を引き起こしますか?つまり、変数が最終的なときにセッターが変数を設定できない場合はどうなりますか?エラー?それとも無視されましたか?ありがとう。Javaの最終変数とそのメソッドへの影響

+0

こんにちは。 Stackoverflowへようこそ。より良い質問を[最小限で完全で検証可能な例を作成するには]を参照してください。 – Diyarbakir

+0

達成したいことは何ですか?すべてのものを最善の解決策にするのはなぜですか?それは明らかにすべてのもの、特にセッターをねじ込むかもしれません。これまでのXY問題のように聞こえます。 –

+0

私は自分の会社のJenkinsプラグインを改造しています。私はそれらを参照してすべての参照を削除するだけで、必要なデフォルトに変数を設定するほうが簡単です。私はちょうどJavaがどのように変数を設定することができないセッターメソッドを処理するか分からなかった。下の答えから、エラーが発生するので、私はセッターも削除しなければならないようです。 – Horseshaq

答えて

1

フィールドがfinalの場合は、宣言またはコンストラクターのいずれかに設定する必要があります。一旦設定されると、最終変数が再割り当てされないので、コンパイラは再度設定するとエラーをスローします。

+0

ありがとうございました。その私が知る必要があったエラーの部分。すべてのセッターを削除してエラーがないようにします – Horseshaq

+0

私の答えがあなたを助けたら、それを受け入れることを忘れないでください:) –

関連する問題