Java修飾符是用來定義類、方法、變量和構(gòu)造方法的訪問權(quán)限,可以控制各種不同的訪問級(jí)別。Java中的修飾符包括四種訪問控制修飾符——private、protected、public及默認(rèn)訪問控制修飾符——default,另外還有兩種修飾符——static和final。
其中,public、protected和private叫做訪問修飾符。
咱可以通過在某些代碼左邊加上這些關(guān)鍵字來增強(qiáng)它們的含義和可用性。
訪問修飾符
在 Java 中,可以使用訪問修飾符來控制類、變量、方法和構(gòu)造方法的訪問級(jí)別。Java 中有四種訪問修飾符:
default修飾符:默認(rèn)的訪問級(jí)別,同一包中可以訪問。如果一個(gè)類或接口中沒有使用任何訪問修飾符,則默認(rèn)為default級(jí)別。默認(rèn)的訪問級(jí)別聲明符沒有關(guān)鍵字。
public修飾符:可以訪問任何地方都可以使用,它們的可見性最廣。被聲明為public的類、方法、變量和接口可以被任何其它類訪問。
private修飾符:只能被同一個(gè)類內(nèi)部的其他方法訪問,被聲明為private的方法、變量和內(nèi)部類只能被所屬類訪問。
protected修飾符:可以被同一包中的類訪問,以及繼承該類的子類訪問。
其他修飾符
static:被static關(guān)鍵字修飾的變量會(huì)被定為靜態(tài)變量。靜態(tài)變量是基于類來共享的,因此只能創(chuàng)建一個(gè)靜態(tài)變量的實(shí)例。可以隨時(shí)在不生成類對(duì)象實(shí)例的情況下使用靜態(tài)變量。
final:被final關(guān)鍵字修飾的變量只可賦值一次,一旦賦值后,不能被更改。そして、被 final 修飾的方法不能被子類繼承、修改和覆蓋,被 final 修飾的類不能被繼承。
應(yīng)用方面,Java 代碼中訪問權(quán)限的管理與現(xiàn)實(shí)生活中我們?nèi)粘K鎸?duì)的實(shí)際問題有相似之處,例如在公司中每個(gè)部門都有其對(duì)應(yīng)的權(quán)限等級(jí),只有獲得相應(yīng)的權(quán)限才能進(jìn)入,在類的設(shè)計(jì)中使用不同的訪問控制權(quán)限也有同樣的效果。
對(duì)于我們開發(fā)者,學(xué)習(xí)并靈活運(yùn)用這些修飾符可以使代碼更加規(guī)范,也能更好的被維護(hù)和擴(kuò)展。