2017-12-02 15 views
1

私はJavaの保護されたもの全体について少し混乱しています。何かが保護されている場合、同じパッケージ内のクラスだけがアクセスできます。Java:保護された、visibitily

クラスで保護されたプライベート属性を使用する必要がありますか?そしてそうなら、いつですか?

+2

"何かが保護されている場合、同じパッケージ内のクラスだけがアクセスできますか?"いいえ、それはパッケージアクセスです。 'protected'アクセス*も*サブクラスへのアクセスを許可します。 https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html –

+0

https://stackoverflow.com/questions/215497/in-java-difference- between-package-private-public-protectedを参照してください。 - とプライベート –

答えて

1

protectedメンバーは、パッケージに関係なく、同じパッケージ内の他のクラスやそのメンバーでクラスを拡張するクラスによってアクセスできます。

privateメンバーには、クラス内からのみアクセスできます。 「保護された私的な属性」のようなものはありません。

+0

ありがとう!分かりました – user8716414

0

保護修飾子はメンバーのみ 別のパッケージ内のそのクラスのサブクラスによって、加えて、(パッケージプライベートのように)それ自身のパッケージ内 にアクセスすることができることを指定します。

出典: "プライベート保護された" thisを参照してくださいについての議論についてはControlling Access of Members of a Class

関連する問題