参数加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());
- }