在看《java编程思想》final这一块时,发现final方法参数这个在项目中应该比较常用到的,所以在博客上记录下。
先直接上代码:
- public class ParamTest {
- public void getParamName(final User user){
- // user = new User(); 由于是final的,所以不能改变原先参数的引用,不然会报错
- user.setName("change bob");
- System.out.println("====the name is " + user.getName());
- }
- public static void main(String[] args) {
- User user = new ParamTest().new User();
- user.setId(1);
- user.setName("bob");
- ParamTest test = new ParamTest();
- test.getParamName(user);
- }
- /**
- * 定义一个User内部类
- * @author antty
- *
- */
- class User{
- int id;
- String name;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
- }
public class ParamTest {
public void getParamName(final User user){
// user = new User(); 由于是final的,所以不能改变原先参数的引用,不然会报错
user.setName("change bob");
System.out.println("====the name is " + user.getName());
}
public static void main(String[] args) {
User user = new ParamTest().new User();
user.setId(1);
user.setName("bob");
ParamTest test = new ParamTest();
test.getParamName(user);
}
/**
* 定义一个User内部类
* @author antty
*
*/
class User{
int id;
String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
在项目开发过程中,我们常常会传某些entity,并对entity里面的属性进行修改,为了防止参数引用被重置,推荐在方法参数上加上“final”,进行修饰.