JAVA方法中的参数用final来修饰的原因

public class TestFinal {

	 public static void main(String hh[])
     {
           LoginInfo login = new LoginInfo();
           login.setPassword("1235");
           login.setUserName("mygod");
           System.out.println("username:"+login.getUserName()+",password:"+login.getPassword());
           checkLoginInfo(login);
           System.out.println("username:"+login.getUserName()+",password:"+login.getPassword());
     }
    
     public static void checkLoginInfo(final LoginInfo login)
     {
    	 login = new LoginInfo();//编译报错
           login.setUserName("yun");
     }
}

匿名内部类的方法中使用final 就是这个道理
这是匿名内部类的规定,防止你在类里修改参数

你可能感兴趣的:(JAVA方法中的参数用final来修饰的原因)