問題タブ [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.

0 投票する
5 に答える
397 参照

java - 匿名の内部クラス:インスタンス変数として宣言するのか、オンザフライで作成するのか

私は公開インターフェースを使用してクラスをリファクタリングしており、使用法について考えると、次のように尋ねました。

いくつかのより大きなクラス内で(インスタンス変数として)以下を宣言することの違いは何ですか?

vs次のように匿名の内部クラスとして宣言する(オンザフライ):

より具体的には、前者はまだ匿名の内部クラスと見なされますか?私はこの回答で匿名の内部クラスを読んだ

別のクラスのメソッドの本体内で作成および定義されたものです

私が示した最初の例は、別のクラスの本体内で作成および定義されていますが、2番目の例のように別のクラスのメソッド内では定義されていません。それはまだ匿名の内部クラスですか?さらに、一方と他方で受け入れられている慣行は何ですか?新しいオブジェクトを再作成する必要がないため、匿名の内部クラスをインスタンス変数として宣言する方が効率的ですか?

0 投票する
1 に答える
347 参照

java - SwingWorker カスタム メソッドの外部呼び出し

上記のコードは機能していません。getA() (最後の行の前の行で呼び出された場合) が SwingWorker に対して未定義であることがわかります。

しかし、SwingWorker を別のクラスにすると、問題なく動作します。私はこれがどのように機能するかを理解していないかもしれません (おそらく理解していません) が、SwingWorker を匿名の内部クラスにすることで、その中でカスタムメソッドを呼び出せなくなる理由がわかりません...

これは良い考えですか、それとも別のクラスにする必要がありますか? SwingWorker を他の場所で使用するつもりはありません。

0 投票する
3 に答える
3914 参照

java - 匿名クラス内から囲んでいるクラスのインスタンス変数にアクセスするにはどうすればよいですか?

instance variables匿名クラスのメソッド内からアクセスするにはどうすればよいですか?

0 投票する
2 に答える
156 参照

java - Java の匿名内部クラスからアクセスできる変数

匿名の内部クラスを使用して、プログラム内のオブジェクトに対するマウス アクションを処理したいと考えています。ただし、パラメーターによっては、内部クラスの動作が異なるようにしたいと考えています。例えば:

アイデアは、オブジェクトを作成するときに、ドラッグしたときの動作がその色によって決定されるということです。これは正常に機能していましたが、何らかの理由で c (Color) が null であるという例外が発生しています。この種のアプローチがJavaで可能かどうか疑問に思っています。

0 投票する
1 に答える
116 参照

java - 匿名内部クラス内で生成されたデータの保存

プログラムに JTextField があり、匿名の内部クラスを使用してキーボード リスナーを接続しました。リスナーはテキスト ボックスをクリアし、現在そこにある単語を保存します。

コードの他の部分で得た単語を使用できるようにしたいのですが、内部クラスで使用されるすべての変数に final タグを付ける必要があることはわかっています。

これが私の簡略化されたコードで、皆さんにアイデアを提供します-userWordを使用できるようにしたいです

編集:コンストラクター変数として、作成できる別のオブジェクトに渡し、その文字列を抽出して保存できるようにするという考えがありました..これは機能しますか? 質問してからすぐに解決策を文字通り考えた場合、無意味な質問で申し訳ありません(笑)。

0 投票する
2 に答える
127 参照

java - 外側の anon クラス ref を内側の anon クラスのメソッドに渡す

Javaの内部アノンクラスのメソッドに外部ア​​ノンクラス参照を渡す方法は?

サーバーへの非同期呼び出しを行うメソッドがあります - sendCall(some_args, callback)。コールバックは匿名クラス (名前を付けましょうOuterAnon) で表され、失敗した場合のメソッドが含まれています。このメソッド内でメッセージ ボックスが作成され、sendCall()[OK] ボタンが押されるたびに呼び出されます。OuterAnonそのため、メソッドに再度渡す必要があります。

ここに私が何を意味するかを示すコードがあります:

お気づきのとおり、ここでコールバックの参照を取得します。

ここで使用します:

しかし、ref の作成を避けて、次のようなコールバックを渡したい:

Javaでそれを行う方法はありますか?

0 投票する
1 に答える
2499 参照

javafx - javafx匿名アプリケーションクラス

私は Swing に慣れていて、javafx を調べています。スイングでは、Jpanel を拡張するクラスを作成し、JFrame を作成したそのクラス内の数行のコードでそのクラスをテストできるようにします。

したがって、javafxでは、シーンまたはグループを拡張して、メインで匿名のアプリケーションクラスを作成できると考えましたが、次のように失敗します:

スレッド「メイン」の例外 java.lang.RuntimeException: エラー: クラス test.Test は、test.Test.main( の javafx.application.Application.launch(Application.java:211) の javafx.application.Application のサブクラスではありませんTest.java:59)

多くのシーン/グループでこのパターンに従いたいので、Application をサブクラス化したくありません。 Application オブジェクトは 1 つしか存在できません。

それがうまくいかなかったとき、アプリケーションを拡張する単純なクラスを作成し、提供された引数に基づいてリフレクションを使用してシーンを作成できると考えましたが、シーンのデフォルトのコンストラクターがないため、それも機能しません.. . Group にはデフォルトのコンストラクターがあるので、Scene の代わりにそれをサブクラス化する必要があるのではないでしょうか?

これを行う方法があるに違いありません...これは常にJava 101のテスト方法と個々のクラスでした。誰もこれをやったことがありますか?私がここでやろうとしていることを達成する方法についての考えやアイデアはありますか?

Java バージョン "1.7.0_21"
Java(TM) SE ランタイム環境 (ビルド 1.7.0_21-b11)
Java HotSpot(TM) 64 ビット サーバー VM (ビルド 23.21-b01、混合モード)

これが私のコードです:

0 投票する
2 に答える
76 参照

java - メソッドのパラメーターとしてのインターフェース

次の状況の命名に問題があります

以下と同じです。

それはどのように呼ばれますか?

0 投票する
1 に答える
1030 参照

java - Java での匿名内部クラスの使用

SampleBehaviourインターフェースです。

インターフェイスを実装するクラスは、メソッドの動作を定義する必要があります。インターフェイスでのいくつかの変数の使用は何ですか?

なぜメソッド パラメータを final にする必要があるのですか? このタイプの使用法では、リアルタイム アプリケーションを取得できませんか? この背後にある本当のことは何ですか?

それが便利なら、なぜ C++ にはこのようなものがないのですか?