ネストクラス(Nested Class)

Java

「ネストクラス」とは?

 状態:-  閲覧数:1,415  投稿日:2013-04-28  更新日:2013-04-29  
・あるクラス定義の中で定義されているクラス
・「入れ子クラス」も同義


「ネストクラス」に分類されるもの


1.内部クラス
・「親クラスのクラス定義」の中で定義され、staticでないもの(「static修飾子を伴うメンバ型」を除いたもの)
・上記の内「親クラスのメソッド定義」の中で定義されているもの(無名クラスであることが多い)を、ローカルクラスと呼ぶ

2.static なメンバクラス
・ネストしたクラスのうち、 static を付与して宣言されたクラスは全て static なメンバクラスとなる


コード例



・class B … 「ネストクラス」「内部クラス」
・class C … 「ネストクラス」「内部クラス」「ローカルクラス」
・class D … 「ネストクラス」「static なメンバクラス」
※「class C」は、「ネストクラス」であり、「内部クラス」であり、「ローカルクラス」でもある、という意味

二重ネストクラス

 閲覧数:493 投稿日:2013-04-29 更新日:2013-04-29 

二重ネストクラスとは?


ネストクラス内のネストクラス

コード例


・二重ネスト出来るか出来ないか、と問われれば、可能
・だからと言って、「二重ネストクラス」利用を正当化する理由は一つも思い浮かばない
・要するに、全く推奨されていない書き方


トップレベルクラス

「インスタンス生成」VS「インスタンス作成」

コメント投稿(ログインが必要)



マウスで矢印を一番右までスライドさせると、ゲストコメント投稿できるよー