1. 程式人生 > >JAVA Static,final關鍵字

JAVA Static,final關鍵字

static

static:可以在沒有建立物件時候使用。
1.修飾變數:是全域性變數,在類載入之後放於方法區,只在初始化時載入一次,且全域性共享。如果不賦初值就預設為0.
2.修改方法:靜態方法不能呼叫非靜態的變數和方法(因為非靜態的方法和變數需要物件來呼叫,但是不可能使用),非靜態方法能夠使用靜態方法,使用“類名.方法”呼叫,而不能用物件呼叫。因為this也是通過物件呼叫,所有不能使用this。
3.修飾類:只有一種情況,靜態內部類。
     特點:1.內部類只能訪問外部類靜態的變數和方法。
                2.靜態內部類能聲名普通的變數和方法,而普通內部類不能聲名靜態方法和變數。
   使用場景:靜態內部類使用場景一般是當外部類需要使用內部類,而內部類無需外部類資源,並且內部類可以單獨建立的時候。
4.修飾程式碼塊:可以優化效能,在類載入時呼叫。且只調用一次。(載入順序 父類的靜態程式碼塊-子類的靜態程式碼塊-父類的構造方法-子類的構造方法)




final

final主要的作用就是防止修飾的物件改變。
1.修飾變數:不允許變數改變。
2.修飾方法:防止繼承的重寫改變該方法。
3.修飾類:不允許繼承該類。防止被重寫。