所謂存取權限是指物件是否可以透過「.」運算子操作自己的變數或呼叫類別中的方法。存取限制修飾符有private、protected和public,這些都是Java的關鍵字,用來修飾成員變數或方法。
注意:
在編寫類別的時候,類別中的實例方法總是可以操作該類別中的實例變數和類別變數;類別方法總是可以操作該類別中的類別變量,與存取限制符沒有關係。
私有變數和私有方法
用關鍵字private修飾的成員變數和方法稱為私有變數和私有方法。
例如:
classTom{privatefloatweight;//weight是private的float型變數privatefloatt(floata,floatb){//方法t是私有方法returna+b;}}
注意:
當在另一個類別中用類別Tom創建了一個物件後,該物件不能存取自己的私有變量,呼叫類別中的私有方法。
共有變數和共有方法
用關鍵字public修飾的成員變數和方法稱為共有變數和共有方法。
例如:
classTom{publicfloatweight;//weight是public的float型變數publicfloatt(floata,floatb){//方法t是共有方法returna+b;}}
注意:
當在任何一個類別中用類別Tom創建了一個物件後,該物件可以存取自己的共有變量,呼叫類別中的共有方法。
受保護的成員變數和受保護的方法
用關鍵字protected修飾的成員變數和方法被稱為受保護的成員變數和受保護的方法。
例如:
classTom{protectedfloatweight;//weight是protected的float型變數protectedfloatt(floata,floatb){//方法t是受保護的方法returna+b;}}
注意:
當在另外一個類別中用類別Tom建立了一個物件後,如果這個類別與Tom類別在同一個套件中,那麼該物件可以存取自己的protected變量,並呼叫類別中的protected方法。
友好變數和友好方法
不用關鍵字private、public、protected修飾的成員變數和方法稱為友善變數和友善方法。
例如:
classTom{floatweight;//weight是友善的float型變數floatt(floata,floatb){//方法t是友善方法returna+b;}}
注意:
當在另一個類別中用類別Tom創建了一個物件後,如果這個類別與Tom類別在同一個套件中,那麼該物件可以存取自己的友善變量,呼叫類別中的友好方法。
當在另外一個類別中用類別Tom建立了一個物件後,如果這個類別與Tom類別在同一個套件中,那麼該物件可以存取自己的protected變量,並呼叫類別中的protected方法。