Java中final修飾參數的作用


在方法參數前面加final關鍵字就是為了防止數據在方法體中被修改。

主要分兩種情況:第一,用final修飾基本數據類型;第二,用final修飾引用類型。

第一種情況,修飾基本類型(非引用類型)。這時參數的值在方法體內是不能被修改的,即不能被重新賦值。否則編譯就通不過。例如:

1 public static void valid(final int ag){
2         ag=9;
3         ag=10;
4 }

錯誤提示:


第二種情況,修飾引用類型。這時參數變量所引用的對象是不能被改變的。作為引用的拷貝,參數在方法體里面不能再引用新的對象。否則編譯通不過。例如:

1 public static void valid(final String[] ag){
2         ag=new String[9];
3 }

這個的提示和上面是一樣的。:“ The final local variable param2 cannot be assigned. It must be blank and not using a compound assignment.“

但是對於引用,如果我是這樣,則不會報任何錯,完全能編譯通過。

1 public static void valid(final String[] ag){
2         ag[0]="5";
3         System.out.println(ag);
4 }

所以,final這個關鍵字,想用的話就用基本類型,還是很有作用的。引用類型,還是算了吧。


免責聲明!

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



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