問題タブ [anonymous-inner-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 - 匿名内部クラスからの外部クラスのキーワード
次のスニペットでは:
内部クラスから外部クラスを参照するキーワードはありますか? 基本的に私がやりたいことはouter.otherMethod()
、またはそのようなものですが、何も見つからないようです。
java - 内部クラスとの循環依存をどのように解決しますか?
(ジャバの質問)
内部クラスのフィールドを参照すると、囲んでいるクラスと内部クラスの間で循環依存が発生しますか?
どうすればこれを回避できますか?
以下に例を示します。
java - Javaで匿名内部クラスはどのように使用されますか?
Javaでの匿名クラスの使用は何ですか? 匿名クラスの使用は、Java の利点の 1 つと言えますか?
java - 内側の匿名クラスから外側の匿名クラスのフィールドにアクセスする
内部クラス B から外部クラス A のフィールド x にアクセスするには、「A.this.x」を使用できることに気付きました。しかし、外部クラスも匿名の場合はどうなるでしょうか? 例えば、
このコードが実行されると、c2 のフィールド x の値である 4 の値が出力されます。ただし、「THIS LINE」とマークされた行を変更して、外部クラスの x (つまり、値 3 を持つ c1 のフィールド x) を返すようにしたいと考えています。外側のクラス (つまり、c1 のクラス) が名前付きクラス A である場合、次のように置き換えることができます。
と
しかし、外側のクラスも匿名であるため、使用する名前がありません。
質問: 匿名クラスを名前付きクラスに変更せずに、c2 ではなく c1 のフィールド x を参照するように、「THIS LINE」というラベルの付いた行を変更する方法はありますか?
このコードは本当に醜く、匿名クラスをこのように使用するのは適切なプログラミング スタイルではないことは理解していますが、コードは別のプログラムによって生成されており、これがジェネレーターを実装する最も簡単な方法です。
java - Javaで呼び出されるこのタイプのメソッドオーバーライドは何ですか?
私は Java に比較的慣れていないので、新しい API を使用しています。このメソッドのオーバーライドに出くわしましたが、これが何と呼ばれているのかわかりません:
私が理解していることから、これは Button クラスの onSubmit メソッドをオーバーライドしています。私はこれまでにこのタイプのオーバーライドに出くわしたことはありません。それの特定の名前はありますか?詳しく読みたいのですが、見つかりません。これまでのすべての検索は、新しいクラスを作成することによる通常のメソッドのオーバーライドにつながります。これは、私がすでによく知っていることです。
誰かが私を正しい方向に向けることができれば幸いです。
ありがとう。
java - メソッド内の匿名内部クラス
次のコードをご覧ください。
上記のコードでは、メソッドmodifiedList()で宣言された匿名内部クラスのインスタンスは、そのメソッドに渡されたパラメーターにアクセスできます。AFAIK Javaは、内部クラス用に個別のバイトコードファイルを作成します。
これらのローカル変数バインディングがJavaによってバイトコードレベルでどのように処理されるかを誰かが説明できますか?つまり、Javaは、そのメソッドにパラメーターとして渡されたオブジェクトへの参照をどの程度正確に追跡しますか?
どんな助けでも大歓迎です!
[英語が下手でごめんなさい!私の質問を理解したら、この投稿を編集して文法上の誤りを取り除いてください。ありがとう!]
java - Java での構文の意味: new Stream(){ ... }?
認識できない次の Java 構文に遭遇しました。
この部分は問題ありません:
しかし、これは私にはわかりません:
それは何ですか?
java - 匿名クラス内で上位クラスを参照する方法
私はこのコードを持っています:
java - さらに匿名の内部クラスから匿名の内部クラスへの参照を取得する構文はありますか?
このケースを考えてみましょう:
コメントされたコードで SomeInterface によって表される匿名の内部クラスのインスタンスを参照する構文はありますか? SomeClass の場合、実行できるSomeClass.this
SomeInterface の実装を取得する同等のものはありますか?
そうでない場合は、もちろん SomeInterface 実装で最終的なローカル変数を定義して参照することもできますが、実際にインスタンスを参照するための直接的な言語サポートがあるかどうか疑問に思っていました。
java - 内部クラスのコンストラクター(インターフェースの実装)
インターフェイスを実装している内部クラスのコンストラクターを作成するにはどうすればよいですか?私はまったく新しいクラスを作ることができることを知っていますが、これに沿って何かをする方法がなければならないと思います:
これを入力すると、AbstractActionメソッドがコンストラクターとして認識されません(コンパイラーは戻り型を要求します)。誰かアイデアがありますか?