- 締切済み
親クラスから子クラスへアクセス。
親クラスから子クラスへアクセス。 お世話になります。 以下のプログラムについて考えています。 public class Main{ public static void main(String[] args) { SubA subA = new SubA(); SubB subB = new SubB(); Super[] subs = {subA,subB}; subs[1].method(); subs[2].method(); } } class Super{ String str = "親"; public void method(){ System.out.println(str); } } class SubA extends Super{ String str = "子A"; } class SubB extends Super{ String str = "子B"; } この場合、出力結果は当然 親 親 になります。 これを子クラスの str を表示するようにしたいのです。つまり 子A 子B です。 ただし、子クラスで method() をオーバーライドしたり、super.str = "子A" のように親クラスを書きかえずにです。 子クラスが何百種類もある場合、全く同じmethod()を書く無駄や、変更があったときにそれを全てを修正しなければならないことを避けたいのです。 何か良案がありましたら、ぜひご教授ください。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
お礼
このイメージです、ありがとうございます。 これはリフレクションというやつでしょうか・・・ まったく無知だったので機能にかなり衝撃を受けました。 勉強したいと思います、ありがとうございました。