これは解決策の質問というよりは理論の質問ですので、聞いてください。
C / C ++およびPHPでは、定数を宣言できます。通常、これを行うにはいくつかの方法があり(#DEFINE
たとえば、または' const type
' ...)、これの最終的な効果は、コンパイル中に、これらの名前付き定数がすべてリテラルになるように置換が行われることです。これは、データを見つけるためにメモリの場所にアクセスする代わりに、データがハードコーディングされるために役立ちますが、ハードコーディングの欠点はありません-再利用する必要がある場合は値を呼び出し、その値のすべてのインスタンスを変更する変更する必要があります。
しかし、Javaのfinal
宣言は少し不可解です。最終変数が設定されていないクラスを作成し、構築時に初期化できるため、私が知る限り、それらはリテラルとしてプリコンパイルされていないことを意味します。口内炎の構造を論理的に変更できないことを保証する以外に、final
宣言は効率に何らかの利益をもたらしますか?
final
記事への参照は、実際に何をするのか、そして建設後に価値の変化を止める以外の利点がある場合はどうなるのかを説明する部分に注意する限り、問題ありません。
当然の結果として、Javaでコンパイルレベルの定数を、単にリテラルを使用する以外の方法で実際に宣言することは可能ですか(とにかく悪い考えですか?)