Java知識系統回顧整理01基礎03變量07final關鍵字
一、final賦值
final 修飾一個變量,有很多種說法,比如不能改變等等?
準確的描述是 當一個變量被final修飾的時候,該變量只有一次賦值的機會
? ?
二、在聲明的時候賦值
i已經被賦值為5,所以這裏再次賦值會出現編譯錯誤
public class HelloWorld { ????public void method1() { ????????final int i = 5;???????? ????????i = 10; //i已經被賦值為 ????} } |
? ?
三、在聲明的時候沒有賦值
如果變量在聲明的時候被final修飾且未賦值,那麽可以在後面代碼中對變量進行唯一的一次賦值。
public class HelloWorld { ????public void method1() { ????????final int i;?????? ????????i = 10; //i在第3行,只是被聲明,但是沒有被賦值,所以在這裏可以進行第一次賦值???? ????????i = 11; //i在第4行已經被賦值為10,所以這裏再次賦值會出現編譯錯誤?????? ????} } |
? ?
四、final修飾其他
final 除了修飾變量,還可以修飾類,修飾方法
? ?
五、練習及答案
題目:
如果final修飾的是參數,能否在方法裏給這個參數賦值?
public class HelloWorld { ????public
void method1(final
int j) { ????????j = 5; //這個能否執行? ????} } |
? ?
官方答案:
不能,因為在調用方法的時候,就一定會第一次賦值了,後面不能再進行多次賦值
? ?
個人整理答案:
? ?
Java知識系統回顧整理01基礎03變量07final關鍵字