2017-12-02 169 views
1

我對java中的整個受保護事物有點困惑。如果有東西被保護,只有同一包中的類才能訪問它,對嗎?Java:受保護的,可見的

我們應該在班級中使用受保護的私人屬性嗎?如果是這樣,什麼時候?

+2

「如果只有同一包中的類才能訪問它,對嗎?」不,那將是包訪問。受保護的訪問*也允許訪問子類。請參閱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

protected修飾符指定該構件只能其自己的封裝件內的另一封裝訪問 (與包專用),此外,通過 它的類的子類。

來源:Controlling Access of Members of a Class

有關 「保護私有」,看到this討論。