返回信息流做面试宝典时看的,答案说“使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。”
那么,到底是引用不能变还是引用对象不能变?是不是这个题目出的就有问题
这是一条镜像帖。来源:北邮人论坛 / java / #23869同步于 2012/11/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
使用final关键字修饰一个变量时,是引用不能变,还是引用的对象
handv
2012/11/12镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
我感觉是这个意思:
public User(String name);
final User user=new User("Lalala");
user指的对象是不能变了。不能user=new User("WuWuWu")
但是可以user.setName("WuWuWu")
public class Test {
public static void main(String[] args) {
final User user=new User("Lalala");
// user=new User("wuwuw");
user.setName("aaaa");
System.out.println(user);
}
}
class User{
private String name;
public User(String name){
this.name=name;
}
public void setName(String name){
this.name=name;
}
@Override
public String toString(){
return "Name is :"+name;
}
}
【 在 handv 的大作中提到: 】
: 做面试宝典时看的,答案说“使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。”
: 那么,到底是引用不能变还是引用对象不能变?是不是这个题目出的就有问题
【 在 aiquestion 的大作中提到: 】
: 我感觉是这个意思:
: public User(String name);
: final User user=new User("Lalala");
: ...................
谢了,THX