java中Static關鍵字的深入理解

來源:互聯網
上載者:User

標籤:成員變數   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關鍵字的深入理解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.