たまたま職場で Java コードに出くわしました。シナリオは次のとおりです。 と の 2 つのクラスがありClassA
ますClassB
。
ClassA
内部には 4 つの public static final 文字列値以外は何もありません。その目的は、これらの値を次のように使用することですClassA.variable
(理由は聞かないでください。これは私のコードではありません)。
ClassB
輸入品ClassA
。文字列値を編集しClassA
てコンパイルしました。実行するとClassB
、新しい値ではなく、古い値が使用されていることがわかりました。ClassB
からの新しい値を使用するように再コンパイルする必要がありましたClassA
。(インポートする他のクラスを再コンパイルする必要がありましたClassA
!)
これは単に JDK 1.6 のせいなのか、それとも以前に再コンパイルすることを知っていたはずClassB
です! 私を啓発します。:)