1. 程式人生 > >public/private/protected/default作用域的比較

public/private/protected/default作用域的比較

作用域對比
作用域與可見性 當前類 同一package 子類 其他package
public
private
protected
default
  1. public 表明該成員變數或方法對所有類或物件都是可見的,所有類或物件都可以直接訪問。
  2. private 表明該成員變數或方法是私有的,只有當前類對其具有訪問許可權,除此之外的其他類或者物件都沒有訪問許可權。
  3. protected 表明成員變數或方法對該類自身,與它在同一個包中的其他類,,在其他包中的該類的子類都可見。
  4. default 表明該成員變數或方法只有自己和與其位於同一包內的類可見。若父類與子類位於同一包內,則子類對父類default成員變數或方法都有訪問許可權;若父類與子類位於不同的package內,則沒有訪問許可權。

需要注意的是,這些修飾符只能修飾成員變數,不能用來修飾區域性變數。private與protected不能用來修飾類只有public、abstract或final能用來修飾類)。