問題タブ [final]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ストリングとファイナル
次のステートメントの違いは何ですか
String
クラスはクラスですがfinal
、なぜ文字列「CONSTANT」変数をfinalとして作成する必要があるのでしょうか。
java - Hibernate 管理オブジェクトの final フィールドを宣言する方法はありますか?
私は Hibernate を使い始めたばかりで、これまでに目にしたすべての例は、Hibernate のドキュメントのチュートリアルとほとんど同じように見えます。
具体的には、どのフィールドも として宣言されfinal
ておらず、Hibernate フレームワークがクラスをインスタンス化してそのフィールドを設定できるように、引数のないコンストラクターが必要です。
しかし、ここに問題があります-私は、回避できるときはいつでもクラスを変更可能にするのが本当に好きではありません(Javaプラクティス: 不変オブジェクトは、これを行うことについてかなり強力な議論をします)。各フィールドを 'final' と宣言したとしても、Hibernate を機能させる方法はありますか?
Hibernate は Reflection を使用してそのクラスをインスタンス化するため、間違ったコンストラクターを選択したり、パラメーターの 1 つに間違った値を渡したりするリスクを負うことなく、ある種のコンストラクターを呼び出すことができる必要があることを理解しています。引数なしのコンストラクターを呼び出し、各フィールドを一度に 1 つずつ設定します。しかし、不変オブジェクトを安全にインスタンス化できるように、Hibernate に必要な情報を提供することは可能ではないでしょうか?
もちろん、@SetsProperty
注釈は架空のものですが、手の届かないところにあるようには見えません。
c# - javaのpublic final staticに相当するc#は何ですか
Java では、次のように記述できます。
C#に相当するものはありますか?
actionscript-3 - Proxy クラスを使用して、Actionscript 3 で文字列、数値、uint、int、またはその他の「最終的な」プリミティブを疑似サブクラス化する方法はありますか?
方法がありそうですが、私はそれを見ていません。以前、Object で valueOf() および toString() メソッドを使用して、コンテキストに基づいてカスタム オブジェクトを数値または文字列で動作させたことがありますが、もっと多くのことをしたいと考えています。
java - FindBugsを使用してメソッドの引数への割り当てを強制するにはどうすればよいですか?
パラメータの前に何千ものfinalキーワードをコードに散らかす代わりに、FindBugsを使用してコードを強制しようとしています。
これを行うことは不可能のようですが、方法があるはずですよね?
ありがとう
php - 他の言語の静的変数に相当する PHP は何ですか?
PHP には、他の言語で static のように機能するクラスの変数の型があるかどうか疑問に思っています。つまり、同じクラスのすべてのオブジェクトが同じ変数を使用し、1 つのオブジェクトで更新されると、すべてのオブジェクトで更新されるということです。静的はすべてのオブジェクトで共有されるため近いですが、更新できるようにする必要があります。これにはグローバルを使用する必要がありますか?
c++ - クラスのサブクラス化を禁止する方法はありますか?
「Base」というクラスと、Base のサブクラスで保護されたメソッドと Base のメンバーにアクセスする「Derived」というクラスがあるとします。
私が今やりたいことは、他のクラスが Derived をサブクラス化できないようにすることです。Java では、Derived クラスを「final」と宣言することでそれを実現できます。同じ効果が得られる C++ のトリックはありますか?
(理想的には、Derived 以外のクラスが Base をサブクラス化できないようにしたいと考えています。Base と Derived は両方ともテンプレート化されているため、すべてのコードを同じクラスに入れたり、friend キーワードを使用したりすることはできません。 Derived よりもテンプレート引数が少ないベース....)
java - Java での最終変数操作
Javaのコンテキストで次の行の意味を教えてください。
最終変数は、不変でない限り操作できます
私の知る限り、変数を final として宣言すると、再度変更することはできません。では、上記の行のimmutableという言葉は何を意味するのでしょうか?
java - 抽象クラスはfinalメソッドを持つことができますか?
抽象クラスはJavaでfinalメソッドを持つことができますか?
java - 別のメソッドで定義された内部クラス内の非最終変数を参照することはできません
編集:タイマーを介して数回実行されるため、いくつかの変数の値を変更する必要があります。タイマーを繰り返すたびに値を更新し続ける必要があります。値をfinalに設定すると、値を更新できなくなりますが、以下の最初の質問で説明するエラーが発生します。
私は以前に以下のことを書いていました:
「別のメソッドで定義された内部クラス内の非最終変数を参照できません」というエラーが発生します。
これは、priceと呼ばれるdoubleとpriceObjectと呼ばれるPriceで発生します。なぜ私がこの問題を抱えているのか知っていますか。なぜ最終宣言が必要なのかわかりません。また、私が何をしようとしているのかがわかるとしたら、この問題を回避するために何をしなければならないのでしょうか。