問題タブ [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 - 最終ローカル変数に応じて匿名内部クラスに条件付きブレークポイントを設定する方法は?
次のクラスがあり、マークされた場所で arg==null に条件付きブレークポイントを設定したいとします。これは Eclipse では機能せず、「条件付きブレークポイントにコンパイル エラーがあります。理由: arg を変数に解決できません」というエラーが表示されます。
ここで関連情報をいくつか見つけましたが、条件を「val$arg==null」に変更しても (val$arg はデバッガーの変数ビューに表示される変数名です)、Eclipse で同じエラーが発生します。
c# - C#の匿名内部クラス
C#とWicketの理解を深めるために、C#Wicketの実装を作成中です。私たちが直面している問題の1つは、Wicketが匿名の内部クラスを多用しており、C#には匿名の内部クラスがないことです。
したがって、たとえば、Wicketでは、次のようにリンクを定義します。
Linkは抽象クラスであるため、実装者はonClickメソッドを実装する必要があります。
ただし、C#では、匿名の内部クラスがないため、これを行う方法はありません。別の方法として、次のようなイベントを使用できます。
もちろん、これにはいくつかの欠点があります。まず第一に、複数のクリックハンドラーが存在する可能性がありますが、これはクールではない可能性があります。また、実装者にClickハンドラーの追加を強制することもありません。
別のオプションは、次のようなクロージャープロパティを持つことです。
これにより、多数のハンドラーが存在するという問題は解決されますが、それでも実装者にハンドラーの追加を強制することはありません。
だから、私の質問は、慣用的なC#でこのようなものをどのようにエミュレートするのですか?
java - Javaでは、匿名の内部クラスをそれ自体から参照するにはどうすればよいですか?
コールバックを定義していて、そのコールバックをそれ自体から参照したいと考えています。コンパイラはこれを好まず、コールバックを参照する変数が初期化されていないと主張します。コードは次のとおりです。
内部メソッドのコールバックが定義されるまでにコンパイラが間違っていることは明らかです。このコードが問題ないことをコンパイラに伝えるにはどうすればよいですか、またはコンパイラをなだめるために別の方法で書くにはどうすればよいでしょうか? 私はJavaをあまりやったことがないので、ここで間違ったツリーを吠えている可能性があります. これを行うための他の慣用的な方法はありますか?私にはかなり単純な構造のように思えます。
編集: もちろん、これは簡単すぎました。すべての迅速な回答に感謝します!
c# - Java では匿名内部クラスをキーとして使用しますが、C# ではどうでしょうか?
Wicket では、 MetaDataKeyと呼ばれるものがあります。これらは、型付きのメタ情報を Wicket コンポーネントに保存するために使用されます。Wicket はシリアライゼーションを多用するため、Wicket の設計者は、単純なオブジェクト ID は信頼できないと判断し、MetaDataKey を抽象クラスにし、キーごとにサブクラスを作成し、キーがサブクラスのインスタンスであるかどうかを確認することを強制しました。 (Wicket ソースコードより):
したがって、キーを作成して何かを保存するには、次のようにします。
まず、シリアライゼーションでオブジェクト ID を使用するよりも、サブタイプを作成する方がうまく機能するのはなぜでしょうか?
次に、C# (匿名の内部クラスがない) で同様の機能を作成したい場合、どうすればよいでしょうか?
java - 内部クラスから変数にアクセスする
コールバックハンドラーの匿名内部クラスを定義するコードがあります。このハンドラーはローカル変数を割り当てる必要があります。以下を参照してください。コールバックで割り当てresp
て、関数の終わりに向かって参照する必要があります。ただし、Eclipseでこのエラーが発生します。
最後のローカル変数resp
は、囲み型で定義されているため、割り当てることができません
どうすればこれを修正できますか?
java - re 匿名内部クラスの複数のインスタンス
これは、このスレッドで提供されている質問に対する私の回答に関連しています:内側のクラスは軽量ですか?
私の読書から覚えているのは、単一の匿名内部クラスから 1 つのオブジェクトしか作成できない場合、このため、ActionListener
クラスを作成し、この 1 つのクラスから (リフレクションを使用せずに) 複数のオブジェクトを作成したい場合は、匿名の内部クラスを使用するのではなく、プライベートな内部クラスまたはスタンド アロング クラスのいずれかを使用しますが、人々は私が間違っていると言っています。誰かが私のためにこれを明確にしてもらえますか? 詳細はリンク先に記載しておりますので、ご確認くださいませ。
java - 非最終変数を匿名の内部クラスに渡すにはどうすればよいですか?
これらのコード行があります。非最終変数を内部クラスに渡すことはできないことは知っていますがi
、seatingIDとして使用するには、変数を匿名の内部クラスに渡す必要があります。それを行う方法を提案できますか?
java - 匿名内部クラス内のボタンを無効にする
これらのコード行があり、乗客が追加された後にボタンを無効にしたいと考えています。ボタンを無効にしたい。seats[i].setEnabled(false)
匿名の内部クラス内にあるため、機能しません。
java - これはJavaで何ですか?「オンザフライ」でメソッドをアタッチしますか?
私は今日このようなものを見ました:
次の部分はどういう意味ですか?
このクラスの新しいインスタンスをインラインで「拡張」して作成できますか?
私はそれをググってみましたが、それがどのように呼ばれていたのかわかりませんでした= /
PS:Java=pの学習
java - Java の匿名内部クラス内の外部クラス インスタンスにアクセスする
重複の可能性:
匿名の内部クラスからの外部クラスのキーワード?
匿名の内部クラス内の外部クラスのインスタンスにアクセスする必要があり、このようなことをしました。これが正しいかどうかを誰かが明確にすることができますか?