ソースコードを追いかけて

一見複雑怪奇。 でも、ていねいにコードを追っていくと「みえて」きた! ただいまプログラミング学び中。 勉強になったことなどをメモとしてまとめています。 Java、HTML、CSS、JavaScript、、など。 他、IT系でなるほど〜って思ったことなども。

パッケージとクラスのアクセス修飾子がごっちゃになっていた件【Java】

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円
(2021/4/13 10:15時点)
感想(5件)

****************

 ランキングに参加しています*応援いただけるとうれしいです

ブログランキング・にほんブログ村へにほんブログ村