みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

インナークラスの身近な例

Javaにインナークラスってあるじゃん。理解が難しいのですが、身近な例がありますでしょうか?

スーパークラスとサブクラスは分かり易いですよね。
class Car{
void accelerate(){System.out.print("加速");}
void stop(){System.out.print("停止");}
}

class Taxi experience Car{
void pay(){System.out.print("交通費を支払う");}
}

こんな感じで、自動車とタクシーの親子関係が分かります。Javaの解説書にもよく書いてある例だね。

その一方で、インナークラスはドーかしら?
class OuterClass{
void outer(){System.out.print("外");}
class InnerClass{
void inner(){System.out.print("内");}
}
}

これだと、必要性がわかりにくいです。「クラスの中にもクラスが書けるのね」とは思うのですが、「クラスの中にクラスを書きたい」とは思いません。
色々と解説書を調べて見たのですが、どれもこれもプログラム例がこんなのばっかです。

class Train{
void gateopen(){System.out.print("切符で改札を入る");}
class GreenCar{
void check(){System.out.print("乗務員にグリーン券を見せる");}
}
}

こんな感じ?

投稿日時 - 2019-02-14 22:16:38

QNo.9587849

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

小さな例ではインナークラスの必要性は分かりにくいでしょうね。
例えるなら2人しかいないのにクラスなのに「チーム分けできます」と告げられたような状況ですから。

例えば60行ほどになる記述で50行が対象インスタンスが異なるだけの4行からなる同じ条件分岐だとしたらどうです?

投稿日時 - 2019-02-15 02:24:49

あなたにオススメの質問