1. 程式人生 > >Java知識系統回顧整理01基礎03變量07final關鍵字

Java知識系統回顧整理01基礎03變量07final關鍵字

width html 聲明 .com padding info aps 關鍵字 一個

一、final賦值

final 修飾一個變量,有很多種說法,比如不能改變等等?

準確的描述是 當一個變量被final修飾的時候,該變量只有一次賦值的機會

? ?

二、在聲明的時候賦值

i已經被賦值為5,所以這裏再次賦值會出現編譯錯誤

public class HelloWorld {

????public void method1() {

????????final int i = 5;????????

????????i = 10; //i已經被賦值

5,所以這裏再次賦值會出現編譯錯誤??????

????}

}

? ?

三、在聲明的時候沒有賦值

如果變量在聲明的時候被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關鍵字