0

ランタイム入力に応じて、基本クラスのインスタンス(Aと言う)または派生クラスのインスタンス(Bと言う)を返すことができるJAVAメソッドがあります。( B は A から派生します)

メソッドが 'B' 型のオブジェクトを返す場合、それを 'B' 型の参照に割り当てるにはどうすればよいですか? 派生クラスにのみ存在するメンバーを使用する必要があるため、基本型の参照に割り当てることはできません。

4

3 に答える 3

0

これを可能にするには、明示的な型キャストを行う必要があります。その前に、キーワードを使用してrefクラスがサブクラスのインスタンスであるかどうかを確認してください。Binstanceof

if (ref instanceof B) { //Check if ref is an instance of base class B
    ((B) ref).function();
}
于 2013-06-03T13:00:57.017 に答える
0
A a = yourMethod(input);
if (a instanceof B) {
  B b = (B) a;
  b.subclassmethod();
} 
于 2013-06-03T13:02:03.303 に答える