1. 程式人生 > >Java中的final用法及含義

Java中的final用法及含義

  • 修飾變數:
    通常情況下,final變數有3個地方可以賦值:直接賦值,建構函式中,或是初始化塊中。
    【初始化】:
    由於在java的語法中,宣告和初始化是聯絡在一起的,
    也就是說:如果你不顯示的初始化一個變數,系統會自動用一個預設值來對其進行初始化。(如int就是0)
    對於final變數,在宣告時,如果你沒有賦值,系統預設這是一個空白域,在建構函式進行初始化,
    如果是靜態的,則可以在初始化塊。
    【記憶體】:
    常量(final變數)和非final變數的處理方式是不一樣的。
    每一個型別在用到一個常量時,都會複製一份到自己的常量池中。
    常量也像類變數(static)一樣儲存在方法區,只不過他儲存在常量池。
    (可能是,類變數被所有例項共享,而常量池是每個例項獨有的。)