私は2つの基底クラスと、1つの基底クラスを継承するサブクラスと、もう一方のクラスを拡張する内部クラスを持つサブクラスを持っています。内部クラスが外部クラスのスーパークラスを拡張するのはなぜですか?これを行う方法はありますか?
ベース・クラス:
public class B1 {}
public class B2 {}
サブクラス:
public class A extends B1{
class B extends B2{}
}
方法:
execute(B1 b) {
..do something
}
コール:
A a = new A();
A.B inner = a.new B();
execute(inner);
これは失敗しています。内部クラスは外部クラスのスーパークラスを拡張しないのですか?外部クラスのコンストラクタを呼び出すための内部クラスコンストラクタの方法はありますか?ノー
A.B inner = A.getInner();
現時点では、内部クラスインスタンスを作成するときに、外部クラスインスタンスが既に存在する必要があります。どのような工事を期待できますか? – kan
それは本当に良い点です。私が内部クラスのインスタンスを返すサブクラスで静的メソッドを持っていたとしたら、違いはありますか? – Dhruba
丸穴を通して現在の四角形のペグを強制する方法ではなく、達成しようとしていることを簡単に説明する方が良いと思います。あなたは何をしようとしていますか?あなたは解決策として内部クラスを試していますか? – Bobulous