直接用构造函数完成全部赋值

直接用构造函数完成全部赋值

如果用此语句完成Student类的全部赋值:Student stu2=new Student("S02","李四","男",22,sub1);

那么System.out.println(sub1.getSubjectName()+"的专业中已有"+sub1.getStudentNum()+"学生进行了报名");就不能统计sub1专业有多少人报名了。

正在回答

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

2回答

同学你好,很抱歉老师理解错了同学的问题,这里按照同学的思路如果在构造函数里将sub赋值后,再实现统计的功能,是不建议这么做的,因为构造方法的作用就是创建对象,为属性赋值,如果再将统计的功能放在里面编写,会导致代码中每个方法的功能不清晰,不符合我们编写代码的规范和面向对象的原则,所以建议要将统计的功能编写在addStudent()方法中,更加清晰和符合开发规范哦~

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

好帮手慕酷酷 2019-10-22 15:54:01

同学你好,老师使用课程的代码添加Student stu2=new Student("S02","李四","男",22,sub1);的方式也是可以统计人数的哦~

因为使用构造方法赋值只是代表将专业与学生进行关联上,而真正统计专业的人数是通过调用添加学生的addStudent()方法。

如:

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

如果同学的代码不能统计sub1专业有多少人报名建议同学将各个类中完整的代码粘贴出来,注意不要粘贴在回复中,会失去代码格式,不便于代码运行,建议粘贴到我要回答中,或者下载源码进行对比一下哦~

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

  • 我的意思是:如果在构造函数里已经把sub赋了值,就应该也可以实现像addStudnet()方法一样的功能,已经赋值,还要再次调用addStudent方法,这样不是很麻烦吗
    2019-10-24 19:34:19
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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