关于Student类的setSubject方法

关于Student类的setSubject方法

Student类和Subject类的相互关联中,Student类的setSubject方法如何可以关联起来呢?当前的代码是不是会存在调用Student类的setSubject方法后,Subject的Student列表没有更新的问题?

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

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

3回答
好帮手慕小尤 2020-01-07 10:48:52

同学你好,在主方法中直接调用setStudentSubject(),是无法进行同步的。如果同学想要达到同步,建议同学创建带有studentSubject的属性的构造方法,并在测试类中通过此构造方法创建对象。修改后代码如下:

http://img1.sycdn.imooc.com//climg/5e13f13709986d5312820198.jpghttp://img1.sycdn.imooc.com//climg/5e13f16e09f7bbfe06140154.jpg

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

好帮手慕小尤 2020-01-07 10:02:46

同学你好,StudentList是否是Subject类中数组?如果是,同学是否是不明白通过传递的Student stu 调用setStudentSubject()方法修改的内容,是否可以添加到StudentList数组中。

如果是,则是可以进行同步的,stu.setStudentSubject(this);语句就是修改Student stu对象。然后通过this.getStudentList()[i]=stu;将修改后的stu对象地址添加到数组中,从而达到同步。

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

  • 提问者 ljk卷心菜 #1
    您说的我明白,您说的都是通过Subject这个类中的方法调用,我说的是如果我在主方法中直接调用study.setStudentSubject()这个方法的话,这时Subject类里的student列表会直接把这个student加进去吗?不加进去的话不是就不匹配了
    2020-01-07 10:32:32
好帮手慕小尤 2020-01-06 18:12:53

同学你好,同学可以在通过下方代码实现关联。

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

这里的双向关联是指Subject中为有关于学生的属性赋值。在Student中为有关于专业的属性赋值。

1、stu.setStudentSubject(this);是将该学生的专业属性赋值为当前对象的值。实现了学生关于专业的关联。

2、this.getMyStudents()[i]=stu;  这是在Subject对象中,为此专业中的存放学生数组的元素赋值。实现了专业关于学生的关联。

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

  • 提问者 ljk卷心菜 #1
    我的意思是说如果在stu实例上直接调用setStudentSubject方法的话,这时Student和Subject类是不是就不同步了,因为setStudentSubject并没有添加同步Subject类中StudentList的逻辑
    2020-01-07 07:24:08
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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