Java 中的受保護訪問修飾符
超類中宣告為 protected 的變數、方法和建構函式只能由其他包中的子類或受保護成員類所屬包內的任何類訪問。
受保護的訪問修飾符不能應用於類和介面。方法、欄位可以宣告為受保護的,但介面中的方法和欄位不能宣告為受保護的。
受保護的訪問許可權讓子類有機會使用輔助方法或變數,同時防止無關的類嘗試使用它。
示例
The following parent class uses protected access control, to allow its child class override openSpeaker() method - class AudioPlayer { protected boolean openSpeaker(Speaker sp) { // implementation details } } class StreamingAudioPlayer { boolean openSpeaker(Speaker sp) { // implementation details } }
在此,如果我們將 openSpeaker() 方法定義為私有的,則除了 AudioPlayer 之外,其他任何類都無法訪問它。如果我們將它定義為公有的,那麼它將對所有外界開放。但是我們的目的是僅將其方法公開給其子類,這就是我們使用受保護修飾符的原因。
廣告