淺談方法中參數加上final

參數加final

1、斯坦福教授說的好,方法可以比喻成一臺機器(麪包機),沒錯,在我的機器(方法)裏面,我要的參數加了final(要原料),你給我傳過來的參數,機器裏面就無法改了,也就是說在機器裏的這個參數,一直指向的都是你傳進來的參數。

[java] view plain copy
  1. public class FinalNBA {  
  2.     public static void main(String args[]) {  
  3.         Curry curry = new Curry();  
  4.         curry.setSmallName("small student");  
  5.         printAll(curry);  
  6.         System.out.println(curry);  
  7.     }  
  8.       
  9.       
  10.     public static void printAll(final Curry temp){  
  11.         temp.setSmallName("fk do it");  
  12.         System.out.println(temp.getSmallName());  
  13. //      temp = new Curry();  傳送進來的Curry引用是final,不可以再賦值了,這裏一定會報錯哦!  
  14.     }  
  15. }  


2、總結,無論參數是基本數據類型,還是引用數據類型,只要加了final,不好意思,該參數不可以再賦值(實參傳進來給形參,就相當於初始化完成)。。。。可以防止在方法裏面不小心重新賦值,造成一些不必要的麻煩!!!


3、不加final的參數,可能會出現的錯誤是

[java] view plain copy
  1. public static void printAll(Curry temp){  
  2.         temp = new Curry(); //這就是出現的問題,又new了一個庫裏,與調用該方法時傳進來的庫裏毫無關係了!!  
  3.         temp.setSmallName("fk do it");  
  4.         System.out.println(temp.getSmallName());  
  5.     }  



個人分類: Java 綜合

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章