为什么get方法可以实现赋值

为什么get方法可以实现赋值

this.getMyStudent()[i]=stu;

这里的get方法不是读取MyStudent里面的值,为什么变成了赋值

不应该使用set方法吗

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

我们要关注get实际返回的是什么。

该函数的返回值为student数组,而数组为引用类型,对数组进行赋值操作是不产生拷贝操作的。
函数的返回值,在某种程度上就是一种复制操作,将函数的返回值返回给其调用函数的一个不可见临时变量。此时我们的get函数,变成了获取这个引用的含义,获取这个数组后,对其中的特定元素赋值,这是这句代码的含义。

此时,get是获取Mystudent这个数组引用

调用set,只能改变这个引用,不能改变这个数组中的元素的值。

  • romerxzh 提问者 #1
    懂了,get实际上是获取数组元素,然后再将其进行赋值
    2018-07-20 21:48:32
irista23 2018-07-20 14:59:02

你说的是将学生信息保存到数组中吗?这个是在添加学生方法里丫

http://img1.sycdn.imooc.com//climg/5b5187ef00016ddb05310335.jpg

  • 提问者 romerxzh #1
    get方法不是读取数组的方法嘛,保存到数组中不应该是set方法嘛
    2018-07-20 15:22:19
  • irista23 回复 提问者 romerxzh #2
    这里的getMyStudents()方法返回的是Student[]数组,这样通过下标i就可以直接用来给数组元素赋值了。
    2018-07-20 15:26:42
  • 提问者 romerxzh 回复 irista23 #3
    get方法也可以实现赋值嘛,不是要用set方法赋值,那么这里能不能用set方法赋值
    2018-07-20 21:23:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师