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("乗務員にグリーン券を見せる");} } } こんな感じ?
↧