Java中的final用法及含義
通常情況下,final變數有3個地方可以賦值:直接賦值,建構函式中,或是初始化塊中。
【初始化】:
由於在java的語法中,宣告和初始化是聯絡在一起的,
也就是說:如果你不顯示的初始化一個變數,系統會自動用一個預設值來對其進行初始化。(如int就是0)
對於final變數,在宣告時,如果你沒有賦值,系統預設這是一個空白域,在建構函式進行初始化,
如果是靜態的,則可以在初始化塊。
【記憶體】:
常量(final變數)和非final變數的處理方式是不一樣的。
每一個型別在用到一個常量時,都會複製一份到自己的常量池中。
常量也像類變數(static)一樣儲存在方法區,只不過他儲存在常量池。
(可能是,類變數被所有例項共享,而常量池是每個例項獨有的。)
相關推薦
Java中的final用法及含義
修飾變數: 通常情況下,final變數有3個地方可以賦值:直接賦值,建構函式中,或是初始化塊中。 【初始化】: 由於在java的語法中,宣告和初始化是聯絡在一起的, 也就是說:如果你不顯示的初始化一個變數,系統會自動用一個預設值來對其進行初始化。(如in
Java中compareTo用法及原始碼解析
最近遇到一個問題,在日期比較的時候,很麻煩,因為日期比較沒有大於等於,只有大於或者小於,這就導致在比較時間的時候特別麻煩,而且還要由string轉成date格式才能比較,下面是我使用compareTo比較時間字串的程式碼: String putStartTime = Date
Java中foreach用法及常用集合操作
foreach語句是java5的新特徵之一,在遍歷陣列、集合方面,foreach為開發人員提供了極大的方便。 foreach語句是for語句的特殊簡化版本,但是foreach語句並不能完全取代for語句,然而,任何的foreach語句都可以改寫為for語句版本。 for
【Java學習筆記之二十二】解析接口在Java繼承中的用法及實例分析
ani 復制代碼 ads compute 現在 target body 常量 實現接口 一、定義 Java接口(Interface),是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具
解析Java中final關鍵字的各種用法
col 後序 blog str 訪問 人類 依然 fin 可能 首先,我們可以從字面上理解一下final這個英文單詞的中文含義:“最後的,最終的; 決定性的; 不可更改的;”。顯然,final關鍵詞如果用中文來解釋,“不可更改的”更為合適。當你在編寫程序,可能
Java中final的用法總結
++ 標識符 ali 相同 即使 調用方法 理由 new 3.1 1. 修飾基礎數據成員的final 這是final的主要用途,其含義相當於C/C++的const,即該成員被修飾為常量,意味著不可修改。如java.lang.Math類中的PI和E是final
java中final修飾方法傳入引數的含義
final型別修飾的引數分為兩種型別 基本型別 與引用型別 引數加final 1、斯坦福教授說的好,方法可以比喻成一臺機器(麵包機),沒錯,在我的機器(方法)裡面,我要的引數加了final(要原料),你給我傳過來的引數,機器裡面就無法改了,也就是說在機器裡的這個引數,一直指向的都
Java中final、finally、finalize的區別和用法
1.簡單區別 final用於宣告屬性,方法和類,分別表示屬性不可交變,方法不可覆蓋,類不可繼承。 finally是異常處理語句結構的一部分,表示總是執行。 finalize是Object類的一個方法,在垃圾收集器執行的時候會呼叫被回收物件的此方法,供垃圾收集時的其他資源回收,例
java中final關鍵字的使用及static final 和final的區別
java中final關鍵字可以用在類成員(是不是所謂的域),類的方法及類中。 一、final用在域中表示: 1,一個永不改變的編譯時常量。 2,一個在執行時被初始化的值,而你不希望它被改變。 static 關鍵字可以和final關鍵字結合使用,static強調只有一份,不管類被初始化多少次,static修
Java中static作用及用法詳解
1.1概述: static是靜態修飾符,什麼叫靜態修飾符呢?大家都知道,在程式中任何變數或者程式碼都是在編譯時由系統自動分配記憶體來儲存的,而所謂靜態就是指在編譯後所分配的記憶體會一直存在,直到程式退出記憶體才會釋放這個空間,也就是隻要程式在執行,那麼這塊記憶體就
java中final關鍵字修飾變量、方法、類的含義是什麽
子類 ble left 擴展 接下來 wid 編譯 數據 三種 Java中的關鍵字final修飾變量、方法、類分別表示什麽含義? 先看一個簡單的介紹 修飾對象 解釋說明 備註 類
java中volatile關鍵字的含義
能夠 system 內存區域 退出 tro 技術 2.4 虛擬機 們的 在java線程並發處理中,有一個關鍵字volatile的使用目前存在很大的混淆,以為使用這個關鍵字,在進行多線程並發處理的時候就可以萬事大吉。 Java語言是支持多線程的,為了解決線程並發的問題,在語
JAVA中使用log4j及slf4j進行日誌輸出的方法
cto 所在 inf 官方 pat etl 註意 actor 結果 JAVA中輸出日誌比較常用的是log4j,這裏講下log4j的配置和使用方法,以及slf4j的使用。 一、下載log4j的架包,並導入項目中,如下: 二、創建log4j.prope
Java中Iterator用法整理
mil rem println 對象 獲得 返回 new ext 插入 叠代器(Iterator) 叠代器是一種設計模式,它是一個對象,它可以遍歷並選擇序列中的對象,而開發人員不需要了解該序列的底層結構。叠代器通常被稱為“輕量級”對象,因為創建它的代價小。 Java
Java中vector用法整理
遍歷 檢索 集合 ash ets toa java code lan ArrayList會比Vector快,他是非同步的,如果設計涉及到多線程,還是用Vector比較好一些 import java.util.*; /** * 演示Vector的使用。包括Vector的創
[轉] java中volatile關鍵字的含義
讀取 add 由於 tar 並不是 ges 內部 post 計數 在java線程並發處理中,有一個關鍵字volatile的使用目前存在很大的混淆,以為使用這個關鍵字,在進行多線程並發處理的時候就可以萬事大吉。 Java語言是支持多線程的,為了解決線程並發的問題,在
java中Properties類及讀取properties中屬性值
key ioe failed .cn pre new ava 進行 html 在項目的應用中,經常將一些配置放入properties文件中,在代碼應用中讀取properties文件,就需要專門的類Properties類,通過這個類可以進行讀取。 深入理解和學習的
【本地資源路徑&&網絡資源路徑&&正反斜杠在Java中的用法】
mage pow cnblogs 環境 而在 來看 pan 開始 命令行 一、概念和用法 左正右反 先來看看轉義字符的概念:通過 \ ,?來轉變後面字母或符號的含義。意思就是改變字母本身的含義。 以"\"符號為例,JAVA中有很多操作,例如文件操作等,需要用到路徑這個東
java中final的作用
end 聯調 之前 ++ 遇到 編譯器 final類 執行 nbsp 1.修飾基礎數據成員的final: 這是final的主要用途,其含義相當於C/C++的const,即該成員被修飾為常量,意味著不可修改。如java.lang.Math類中的PI和E是final成員,其值為
java中final關鍵字
成員變量 子類 void color 需要 sta new 根據 基本用法 在Java中,final關鍵字可以用來修飾類、方法和變量(包括成員變量和局部變量)。下面就從這三個方面來了解一下final關鍵字的基本用法。 1.修飾類 當用final修飾一個類時,表明這個類