关于return???

关于return???

get方法中:
手写:return  this.subjectName;
机器产生:return  subjectName;
这两种方式,有什么区别?

正在回答 回答被采纳积分+1

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

3回答
提问者 慕羲 2018-08-15 19:05:44

如果不同名,就是这个情况return  getSubjectName();

  • getSubjectName( )中调用getSubjectName()?那不就死循环了嘛。注意我说的同名,是说与属性同名,不是说方法。
    2018-08-16 10:11:47
好帮手慕雪 2018-08-14 18:48:50

对,你get方法要返回类中的属性值呢,所以return this.subjectName;一定是类的属性值,这个更通用,通用性更强。

String subjectName="name";
String getXXX(){ 
String subjectName="abc"; 
return subjectName;
由于作用域的原因,就里返回的subjectName就是getXXX内部的这个“abc”的这个subjectName,
而不是外面的“name”这个subjectName。
}

因为它是就近原则。谁离它近就是用的谁。

好帮手慕雪 2018-08-14 11:55:35

只要你get方法没有定义与类属性同名的subjectName,那么写哪个都行,效果一致。祝:学习愉快

  • 提问者 慕羲 #1
    get方法定义与类属性本来就是同名的subjectName,什么情况会没有同名。
    2018-08-14 12:20:34
  • 好帮手慕雪 回复 提问者 慕羲 #2
    get方法中你自己又定义了一个变量吗?那只能写return this.subjectName;了,一般的是不会新定义一个变量的。或者你把截图贴一下,可能你对新定义的同名变量有误解
    2018-08-14 13:35:58
  • 提问者 慕羲 #3
    是同名不能用,还是不同名不能用。 你的回答是同名不能用,不同名可以用??????
    2018-08-14 18:33:30
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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