問題タブ [inner-classes]

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 投票する
2 に答える
11339 参照

java - 外部クラスのプライベート変数アクセスに関するJava内部/外部クラスの質問

私は次のJavaクラスを持っています:

Outer と Outer$Inner で javap を実行すると、次のようになります。

2 つの質問があります。

1) Java コンパイラは、プライベート変数にアクセスするために、外部クラスで「外部」パラメータを取る静的メソッドを生成するのはなぜですか? 内部クラスが this$0 メンバーを介して簡単に呼び出すことができるメソッドをインスタンス化しないのはなぜですか?

2) 内部クラスの this$0 が final になっているのはなぜですか? それが最終的でない場合はどうなりますか?

ありがとうございます。

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

java - 外部クラスのコンストラクターで内部クラスのオブジェクトを作成できますか?

外部クラスのコンストラクターで内部クラスのオブジェクトを作成できますか?

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

java - 匿名クラス内で上位クラスを参照する方法

私はこのコードを持っています:

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

java - Java のネストされたクラスでは、外側のクラスは内部クラスのプライベート メンバーにアクセスできますか?

Java では、内部クラスは外側のクラスのプライベート メンバーにアクセスできます。しかし、外部クラスは内部クラスのプライベート メンバーにアクセスできますか? これは、内部クラスが静的であるかどうかに関係ありません。これは正しくないと思いましたが、次のコードはコンパイルして正常に動作するようです。

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

java - インナークラスの問題。不正な式の開始エラー

私は内部クラスを使用して練習していますが、宿題の質問に苦労しています:それは次のとおりです:

JPanelを拡張し、「One」、「Two」、および「Three」というラベルの付いた3つのJbuttonインスタンスを持つSwingコンポーネントクラスBetterButtonsを作成します。BetterButtonsのコンストラクターで、ActionListenerを実装するローカルクラスButtonListenerを記述します。このローカルクラスには、フィールドString名と、フィールド名に割り当てるStringパラメーターを受け取るコンストラクターがあります。メソッドvoidactionPerformedは、nameというラベルの付いたボタンが押されたことを示す通知をコンソールに出力します。BetterButtonsのコンストラクターで、アクションをリッスンするボタンごとに1つずつ、ButtonListenerの3つのインスタンスを作成します。

ほぼ終了しましたが、次の行で不正な式の開始エラーが発生します。

これが私のコードです:

また、文字列変数名に割り当てられる適切な値を参照するにはどうすればよいですか?

前もって感謝します

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

java - (ネストされた?) ボタンの匿名内部クラス

ボタン obj を取得するために anon 内部クラスを使用しました。

これを任意のサイズの GWT FlexTable (基本的に自動サイズ変更テーブル) で使用したいと考えています。

私がこのようなことをしたら:

ボタンは後者の場合にのみ表示されます (インスタンスが 1 つしかないため)。上記のテーブルはプログラムによって入力されるため、可能なインスタンスごとに新しいボタンを定義するのは実際的ではありません。

私はこれを次のように試しました:

ただし、これはまったくコンパイルされません (最初; 私が推測する)、少し迷っています - どうすればこの効果を達成できますか?

ありがとう

0 投票する
15 に答える
19299 参照

java - Java (匿名または非匿名) 内部クラス: それらを使用するのは良いことですか?

私のプロジェクトのいくつかといくつかの本では、内部クラス (匿名かどうか、静的かどうか) を使用しないと言われていました。私の最初の業界プロジェクトでは、それらは「禁止」されていました。EventListenerRunnable

これは本当にベストプラクティスですか?なんで?

(私はそれらをたくさん使っていると言わざるを得ません...)

-- 編集 ---
これらすべての回答で正しい答えを選ぶことはできません: ほとんどすべての回答に正しい部分があります: 私はまだ内部クラスを使用しますが、それらをあまり使用しないようにします!

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

java - 共通のスーパーインスタンスを共有するサブインスタンス

クラス Super といくつかのサブクラス Sub1、Sub2、...

同じスーパー インスタンスを共有するオブジェクト sub1、sub2 をインスタンス化する方法はありますか?

この状況は、次のような内部のネストされたクラス構成から発生します。

しかし、内部のクラスが大きくなりすぎたので、別のファイルに分けた方が快適だと思います。彼らはスーパーフィールドの同じインスタンスを共有する必要があるので、私の質問です.

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

java - 春:プライベート内部クラスを外部クラスのメンバーとして注入しますか?

私は次のクラス構造を持っています

Spring 構成ファイルで、外部 Bean を作成し、MapperA または MapperB のいずれかをプロパティとして割り当てたいと考えています。これは可能ですか?

編集:回答からのフィードバックに基づいた詳細情報:

  1. 上記の例で怠惰になりました。Mapper インスタンス変数のパブリック セッター/ゲッターがあります。

  2. すべての Mapper クラスが内部クラスである理由は、それらのクラスが多数存在する可能性があり、それらがこのクラスでのみ使用される可能性があるためです。プロジェクトに大量のクラフトクラスを入れたくないだけです。たぶん、ファクトリメソッドの方が良い考えです。