問題タブ [anonymous-class]
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 - 匿名クラスが複数のインターフェースを直接実装できないのはなぜですか? 単に構文のためですか、それとも別の理由がありますか?
java匿名クラスが同時に実装およびサブクラス化できないのはなぜですか? それとも構文が原因ですか?
java - Javaでは、匿名クラスは独自の型パラメータを宣言できますか?
匿名クラスは独自の型パラメーターを宣言できますか?
java - ScheduledExecutorServiceで実行されているタスク自体の中から定期的なタスクを停止します
ScheduledExecutorServiceで実行しているときに、タスク自体の内部からタスクの繰り返しを停止するための優れた方法はありますか?
たとえば、次のタスクがあります。
外部からはf.cancel()で簡単にキャンセルできますが、指定した場所で繰り返しを止めるにはどうすればよいですか?(AtomicReferenceを介してFutureを渡すことは安全ではありません。これは、scheduleAtFixedRateがf lateを返し、変数もlateに設定され、タスク自体がすでに実行されている可能性があり、参照にnullが含まれている可能性があるためです。)
java - 匿名クラスは、それを囲むインスタンスへの参照を *常に* 保持していますか?
私は、あるオブジェクト「foo」が別のオブジェクト「bar」を作成し、Callable
. この foo が bar を返すと、foo に到達できなくなります (つまり、ガベージ コレクションに使用できます)。
私の最初の考えは、Callable
匿名で作成することでした。例えば:
ただし、内部クラスは通常、それを囲むオブジェクトへの参照を保持するため、これは実際には期待どおりに機能しない可能性があることに気付きました。ここでは、囲んでいるクラスへの参照は必要ありません。これは、囲んでいるオブジェクトCallable
がまだ到達可能な間に収集されるようにするためです。
一方、囲んでいるインスタンスが実際に参照されていないことを検出することは非常に簡単なはずなので、おそらく Java コンパイラはそのような場合に参照を含めないようにするのに十分スマートです。
では、匿名の内部クラスのインスタンスは、実際に囲んでいるインスタンス参照を使用していなくても、囲んでいるインスタンスへの参照を保持しますか?
java - オブジェクトフィールドへのアクセス
とてもばかげた質問があります。
NetBeans を使用して小さなアプリを作成していますが、次の問題があります。私のメインクラスは呼び出され、さまざまな(およびトピック外の)理由で拡張した呼び出しを含む a をmainApp
拡張しています..JFrame
JPanel
drawingBoard
中心的な問題は、ある時点で のフィールドの 1 つにアクセスする必要があることですが、mainApp
NetBeans がメイン クラスを (匿名クラスとして) インスタンス化する方法が原因で、コンテナー (つまり mainApp) への参照を取得できません。 )。
mainApp
の参照を取得し、そのフィールドの値を設定するにはどうすればよいdrawingBoard
ですか?
java - リフレクションを使用しながら匿名クラスを作成することは可能ですか?
オブジェクトが初期化子を実行する前に呼び出されるメソッドを実行時に実装できるようにしたいと思います。これにより、初期化中に使用されるフィールドを設定できます。
次に例を示します。
おそらくアスペクトを使用することになりますが、純粋なJavaの方法があるかどうかを知りたいと思います。
java - 匿名クラスにパラメータを渡す方法は?
パラメータを渡したり、匿名クラスに外部パラメータにアクセスしたりすることは可能ですか?例えば:
リスナーを実際の名前付きクラスとして作成せずに、リスナーがmyVariableにアクセスしたり、myVariableを渡したりする方法はありますか?
java - 匿名クラスを介した囲みオブジェクトエスケープの参照-java
私は実際にJavaの並行性を読んでおり、以下の例はそれからのものです。そして、私の質問は、この参照エスケープとはどういう意味ですか?何が問題になりますか?。この参照はdoSomething(e)からどのようにエスケープしますか。
これはどのように問題を解決しますか
編集 :
私は以下の例を試しました
エスケープオブジェクトの構築が不完全なため、この出力はshal6262です。
このようにコードを変更したところ
ここのように。それはshal2525を出力します
私は正しいですか?また、最初の例では年齢が62に初期化されたため、操作の並べ替えもあります。2番目の例では、エスケープフィールドをfinalにしない場合でも、機能します。
java - 誰かがこのJava構文を私に説明できますか?
誰かがこのJava構文を私に説明できますか?外側の括弧の内側でそれらのブラケットは何をしていますか?
java - 匿名内部クラス
上記のサンプル コードはコンパイルできません。「2 つ解決できません」と表示されます。このコードの問題は何ですか??