參數加final
1、斯坦福教授說的好,方法可以比喻成一臺機器(麪包機),沒錯,在我的機器(方法)裏面,我要的參數加了final(要原料),你給我傳過來的參數,機器裏面就無法改了,也就是說在機器裏的這個參數,一直指向的都是你傳進來的參數。
- public class FinalNBA {
- public static void main(String args[]) {
- Curry curry = new Curry();
- curry.setSmallName("small student");
- printAll(curry);
- System.out.println(curry);
- }
- public static void printAll(final Curry temp){
- temp.setSmallName("fk do it");
- System.out.println(temp.getSmallName());
- // temp = new Curry(); 傳送進來的Curry引用是final,不可以再賦值了,這裏一定會報錯哦!
- }
- }
3、不加final的參數,可能會出現的錯誤是
- public static void printAll(Curry temp){
- temp = new Curry(); //這就是出現的問題,又new了一個庫裏,與調用該方法時傳進來的庫裏毫無關係了!!
- temp.setSmallName("fk do it");
- System.out.println(temp.getSmallName());
- }