1. 程式人生 > >Java訪問許可權修飾符的區別

Java訪問許可權修飾符的區別

Java有四種訪問許可權,其中三種有訪問許可權修飾符,分別為private,public和protected,還有一種不帶任何修飾符:

  1. private: Java語言中對訪問許可權限制的最窄的修飾符,一般稱之為“私有的”。被其修飾的類、屬性以及方法只能被該類的物件訪問,其子類不能訪問,更不能允許跨包訪問。
  2. default:即不加任何訪問修飾符,通常稱為“預設訪問模式“。該模式下,只允許在同一個包中進行訪問。
  3. protect: 介於public 和 private 之間的一種訪問修飾符,一般稱之為“保護形”。被其修飾的類、屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。
  4. public:
     Java語言中訪問限制最寬的修飾符,一般稱之為“公共的”。被其修飾的類、屬性以及方法不僅可以跨類訪問,而且允許跨包(package)訪問。

下面用表格的形式來展示四種訪問許可權之間的異同點,這樣會更加形象。注意其中protected和default的區別,表格如下所示:

許可權修飾符 同一個類 同一個包 不同包的子類 不同包的非子類
Private
Default
Protected
Public