微信技术群:Day9884125
final修饰变量
final修饰变量的时候,这个变量就是常量。java中变量有基本数据类型和引用数据类型两种,修饰基本数据类型,基本数据类型的值不能发生改变。对于引用类型,则表示引用地址不能发生改变,而对象的内容是可以改变的。
public class User{
private String name;
public User(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
@Override
public String toString(){
return "User{"+
"name-'"+ name +'\''+
'}';
}
}
我们用final关键字修饰User引用对象user,然后将user指向一个新的对象,会发生报错,而修改name的值,则正常。
public class UserTest{
public static void main(String[] args){
final User user = new User("zhangsan");
//user = new User("lisi"); 报错cannot assign a value to final variable 'user'
user.setName("lisi");//可以正常赋值
System.out.println(user);//打印出的user的name值lisi
}
}