1、public、protected、default和private修飾符的做用域java
public:在java程序中,若是將屬性和方法定義爲 public 類型,那麼此屬性和方法所在的類和及其子類,同一個包中的類,不一樣包中的類均可以訪問這些屬性和方法。spa
protected:在java程序中,若是對屬性和方法使用了 protected 修飾符修飾,那麼該屬性和方法只能在本身的類和子類中被訪問。對象
(空的):默認的,若是沒有指定訪問控制修飾符,則表示使用默認修飾符,這時變量和方法只能在本身的類及該類同一個包下的類中訪問。blog
private:在java程序中,若是將屬性和方法定義爲 private 類型,那麼此屬性和方法只能在本身的類中被訪問。在其餘類中不能被訪問。作用域
做用域圖示變量
2、其餘修飾符float
static:被 static 修飾的變量爲靜態變量,被static修飾的方法爲靜態方法。屬於類,能夠經過類名調用。不被static修飾的變量或方法屬於對象,要有對象才能調用。程序
final:被 final 修飾的變量在程序整個執行過程當中最多被賦值一次,因此常常它被定義爲常量。方法
transient:它只能修飾非靜態的變量。im
volatile:和 transient 同樣,它只能修飾變量。
abstract:被 abstract 修飾的方法稱爲抽象方法。
synchronized:該修飾符只能應用於方法,不能修飾類和變量。
3、四種訪問修飾符做用域小結
public:對全部類可見。
protected:對本包中的類和全部子類可見。
default:對本包中的類可見。default 通常不寫
private:僅對本類可見。