受保護的Java訪問修飾符範圍是什麼?


當一個在超類中宣告為受保護的變數、方法或建構函式只能被其它包內子類或受保護成員類包中的任何類訪問。

受保護的訪問修飾符不能應用到類和介面。方法和欄位可以宣告為受保護,但介面中的方法和欄位不能宣告為受保護。

受保護的訪問允許子類使用幫助程式方法或變數,同時防止不相關的類嘗試使用它。

例如

以下父類使用受保護的訪問控制,以允許其子類覆蓋openSpeaker()方法 −

class AudioPlayer {
   protected boolean openSpeaker(Speaker sp) {
      // implementation details
   }
}
class StreamingAudioPlayer {
   boolean openSpeaker(Speaker sp) {
      // implementation details 8. Java MODIFIERS
   }
}

此處,如果我們將 openSpeaker() 方法定義為私有的,則它將無法從除 AudioPlayer 之外的任何其他類訪問。如果我們將其定義為公共的,那麼它將對所有外部世界可訪問。但我們的目的是隻向子類公開此方法,這就是我們使用受保護修飾符的原因。

更新日期: 30-Jul-2019

2K+ 瀏覽量

開啟你的 職業

完成課程以獲得認證

立即開始
廣告
© . All rights reserved.