请问这个实例化对象为啥要用this.studentSubject

请问这个实例化对象为啥要用this.studentSubject

public Subject getStudentSubject() {
  if(this.studentSubject==null)
     this.studentSubject=new Subject();
  return studentSubject;
}

之前不都是 类 名字=new 类的形式实例化的吗

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

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

3回答
慕婉清0129613 2019-07-18 09:48:29

使用new是新实例化一个类,在此之前是没有的,值是null,而这里this.studentSubject是指这个学生所学专业是已经存在一个类,且有内容的,无需再实例化,直接调用即可。

吃吃吃鱼的猫 2019-07-15 18:03:54

同学你好,同学的理解是正确的哦~


定义了private Subject studentSubject,所以需要实例化。


studentSubject是一个Subject类的引用,它做为类中的一个属性,在使用get方法获取时,需要获取它的值,而不是对象的默认值:null。


所以在判断它为null时,需要进行实例化操作。


如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕阿满 2019-07-13 10:12:43

同学你好,这里是在判断this.studentSubject是否为null,如果是null,也就是还没有实例化对象,所以new Subject()实例化对象赋值给this.studentSubject。之前使用类 名字= new 类是新创建一个对象,这里只是实例化this.studentSubject。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 是因为已经定义了private Subject studentSubject了吗,所以这里只需要实例化,但private Subject studentSubject不等于定义了一个变量吗,和别的属性一样作为一个变量使用不行吗,为什么还要实例化,别的属性也没有实例化呀?
    2019-07-15 17:11:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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