Java中final修飾變量


final 修飾一個變量,有很多種說法,比如不能改變等等 
准確的描述是 當一個變量被final修飾的時候,該變量只有一次賦值的機會

 


  • 在聲明的時候賦值

i在第4行已經被賦值過了,所以這里會出現編譯錯誤

 1 public class HelloWorld {
 2 
 3     public void method1() {
 4         final int i = 5;
 5         
 6         i = 10; //i在第4行已經被賦值過了,所以這里會出現編譯錯誤
 7         
 8     }
 9 
10 }
  • 在聲明的時候沒有賦值

如果在聲明的時候未賦值,那么可以在后面代碼進行唯一的一次賦值

  • final 修飾其他

final 除了修飾變量,還可以修飾類(不能夠被繼承),修飾方法(不能夠被重寫)


 

練習

如果final修飾的是參數,能否在方法里給這個參數賦值?

1 public class HelloWorld {
2 
3     public void method1(final int j) {
4         j = 5; //這個能否執行?
5     }
6 }

答:無法執行,這個變量已經被final修飾了,一旦方法傳入了某個參數,就相當於是賦值了,不能再進行以后的賦值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM