Javaを学んでいて、アクセス修飾子について整理してみようと思いました!
アクセス修飾子がつくもの。
☆パッケージ
☆クラス
☆フィールドやメソッド
修飾子“なし”のデフォルトパッケージとか、
修飾子“なし”のクラスという表現があるので
ごっちゃになっていた!
★パッケージ
完全就職クラス名(FQCN)をつけて使う。
*デフォルトパッケージは練習用!
publicな他パッケージのクラスを使うには
・完全修飾クラス名で書く
・importするといちいち完全就職クラス名を書く必要がなくなる。→楽→そうするのが当たり前となっている。
★クラスにつけられる修飾子をまとめて
Javaのクラスの修飾子
アクセス修飾子 | |
---|---|
public | すべてのクラスからアクセス可能 |
protected | 同じパッケージに属するか、継承しているサブクラスからのみ可能 |
なし | 同じパッケージに属するクラスからのみアクセス可能 |
private | クラス内からのみアクセス可 |
※クラス宣言に使えるアクセス修飾子は、publicと指定なしの2種類。
→privateはインナークラスの宣言に限って可
*つまり、『protectedクラス』ってないんだね〜!?
※フィールド、メソッドは4種とも利用可。
さあ!この表はトイレに貼っておこう(笑)
★個人的なつぶやき
パッケージはまた別な概念と捉えた方が良さそう。
よく、継承のトピックスで、『同じパッケージか、継承した子クラスからのアクセスが可能』ってある。
で、でも、じゃあデフォルトパッケージは??
って思っていたんだけれど、
デフォルトパッケージは“練習用”なんだそうで、
importとか継承とか、一切関係ないみたいな感じ?
だから継承とかimportするのは
どこかのパッケージに属してるってことが前提になるんだろうと。
※認識違ってたらスイマセン!
【JavaSilver勉強中☆】
徹底攻略Java SE 8 Silver「1Z0-808」対応問題集 試験番号1Z0-808 [ 志賀澄人 ] 価格:3,520円 |
****************
ランキングに参加しています*応援いただけるとうれしいです