宣言、初期化、スコープ No.3
アクセス修飾子とアクセス制限
デフォルトアクセス(アクセス修飾子なし)
→ 同じパッケージ内のクラスからはアクセス可能
protected
→ べつのパッケージでも、サブクラスからは(継承してれば)アクセス可能
インナークラス
指定できる修飾子
- abstract
- final
指定できない
- アクセス修飾子
- static
enum
- 列挙型を用いるメリットは、プログラムのバグを減らすこと
- 列挙型の各値を使用すると、それぞれそのインスタンスが使用されるのと同意になる。
- 別のクラスで定義されたenumを呼び出す場合は、「そのクラス名.enum名.データ値となる。(staticからも呼び出し可能らしい)
enum Size { SMALL, MEDIUM, BIG{ public int getSize(){ return 1000; } }; public int getSize(){ return 100; } }
というenumが定義された場合、
Size sSmall = Size.SMALL;
Size sMedium = Size.MEDIUM;
Size sBig = Size.BIG;
で呼び出し、
getSize()を使用する場合、
sSmall.getSize() ・・・ 100
sMedium.getSize() ・・・ 100
sBig.getSize() ・・・ 1000
が返ってくる。
BIGだけgetSizeをオーバーライドしている、という
扱いになる。