字符串和字符串数组虽然都是引用型参数,但它们还是有区别的,字符串的内容被直接引用到变量,而字符串数组的内容需要被引用两次,第一次将其引用到fullname[i]中,第二次将fullname[i]的位置应用到变量fullname中。
setName方法中,将输入变量所引用的内容复制到实例的field,对于字符串,复制完成后field就是名字了,所以再更改变量与该实例的field就没有关系了。而对于字符串数组,复制给field的仍是一个引用型变量fullname[i],对这个变量的内容进行更改,当然也会更改实例的field所引用的内容。
你没理解变量、指向和真正的对象的关系
Sign in to make a reply
哒哒大萌
字符串和字符串数组虽然都是引用型参数,但它们还是有区别的,字符串的内容被直接引用到变量,而字符串数组的内容需要被引用两次,第一次将其引用到fullname[i]中,第二次将fullname[i]的位置应用到变量fullname中。
setName方法中,将输入变量所引用的内容复制到实例的field,对于字符串,复制完成后field就是名字了,所以再更改变量与该实例的field就没有关系了。而对于字符串数组,复制给field的仍是一个引用型变量fullname[i],对这个变量的内容进行更改,当然也会更改实例的field所引用的内容。