使用 final 關鍵字修飾一個變量時,是指引用變量不能變,引用變量所指向的對象中的內容還是可以改變的。例如,對於如下語句:final StringBuffer a=new StringBuffer("immutable");執行如下語句將報告編譯期錯誤:a=new StringBuffer ...
Java中,使用Final修飾一個變量,是引用不能變,還是引用對象不能變 是引用對象的地址不能變,引用變量所指的對象的內容可以改變。 final變量永遠指向這個對象,是一個常量指針,而不是指向常量的指針。 比如: final StringBuffer sb new StringBuffer abc 對sb重新賦值 sb new StringBuffer cde 會出現編譯錯誤,被final修飾的變 ...
2017-05-15 20:04 0 1590 推薦指數:
使用 final 關鍵字修飾一個變量時,是指引用變量不能變,引用變量所指向的對象中的內容還是可以改變的。例如,對於如下語句:final StringBuffer a=new StringBuffer("immutable");執行如下語句將報告編譯期錯誤:a=new StringBuffer ...
java中使用final關鍵字修飾一個變量時,是引用不能變,還是引用的對象不能變? 是引用對象的地址值不能變,引用變量所指向的對象的內容是可以改變。 final變量永遠指向這個對象,是一個常量指針,而不是指向常量的指針。 例如:final StringBuffer sbu = new ...
使用final關鍵字修飾一個引用類型變量時,是指引用變量不能變,引用變量所指向的對象中的內容還是可以改變的。 測試代碼如下: ...
/* * 問題:使用final關鍵字修飾一個變量時,是引用不能變,還是引用的對象不能變 * 答: * 使用final關鍵字修飾一個變量時,是指引用變量不能變,引用變量所指向的對象中的內容還是可以改變的。 */ public class Test10 { // final修飾基本類型的變量 ...
兩種情況:如果是基本數據類型,被final修飾的變量一旦初始化就不能改變;如果是引用數據類型的變量,初始化之后不能指向另外一個對象。 基本數據類型: 我們看到上面的代碼a是final類型的,但是沒有被初始化,所以可以給a賦值。如果a被初始化,a存儲的值就不能改變了,示例 ...
final 修飾一個變量,有很多種說法,比如不能改變等等 准確的描述是 當一個變量被final修飾的時候,該變量只有一次賦值的機會 在聲明的時候賦值 i在第4行已經被賦值過了,所以這里會出現編譯錯誤 在聲明的時候沒有賦值 如果在聲明的時候未賦值 ...
這次有兩個主題,第一個太簡單啦,就是java中變量的命名規則,純記憶性東西。第二個主題,就是討論一下對象引用變量的一個注意點。 如果你對命名規則很熟啦,就直接看第二個內容吧。(上邊的圖稍微有點順序紊亂啊) 一、java中變量的命名規則 大多數語言的命名規則是相似的,只有一些 ...
今天編寫一個多線程程序,發現在方法內定義內部類時,如果內部類調用了方法中的變量,那么該變量必須申明為final類型,百思不得其解,后來想到應該是生命周期的原因,因為方法內定義的變量是局部變量,離開該方法,變量就失去了作用,也就會自動被消除,而內部類卻不會離開它所在方法就失去作用,它有更廣 ...