標籤:成員變數 this 一起 使用 部分 this關鍵字 儲存空間 就是 提高
static 聲明類的成員變數 以及方法的特點。1.1:static聲明的方法是靜態方法,static聲明的成員變數為靜態成員變數。對於該類的所有對象來說,static的成員變數和static只有一份儲存空間1.2:即使沒有建立該類的對象,也可以使用該類static的成員變數和static方法。
static所修飾的成員變數和靜態代碼塊 當虛擬機器載入類的時候就會被建立,也就是 即使這個類不被初始化,沒有建立這個對象,java虛擬機器也能根據類名在運行時資料區的方法內找到他們。(紅字部分 後面會有文章詳細介紹。)
1.3: 靜態方法中不能使用this關鍵字
這個也很好理解。當一個對象建立好之後,java虛擬機器就會給它分配一個引用自身的指標:this。也就是說 this是當前對象的引用。紅字部分說了 是當前對象的引用,而執行static方法的時候 對象可能還沒被初始化,所static方法中不能引用this關鍵字。同理 不止是this關鍵字,static方法中 不可訪問任何非static的成員變數。同理 非static的成員變數 在類被初始化的時候才會被建立
1.4:作為程式入口的main方法是static方法
把main()方法定義成static的靜態方法,java虛擬機器只要載入了main方法所屬的類,就能執行main方法。而無需先建立這個類的實列
補充:不管是靜態方法,還是普通方法 他的位元組碼都位於方法區內。
2:Final關鍵字的特點
2.1. final修飾的成員變數成為常量 永遠不能被改變,並且常量必須被顯示的初始化
2.2. final修飾的方法不能被重寫(也就是子類繼承父類時,不能重寫父類的final方法
總結:final 關鍵字 主要是系統的安全。結合 static 一起修飾成員變數 也就是靜態常量,在代碼中寫一些靜態常量,也可以提高程式的可讀性
java中Static關鍵字的深入理解