正在回答
你好!
1、关于for循环如何将学生属性的所有信息传入到学生数组的问题,就是通过下面代码中的this.getMyStudents()[i]=stu;将stu对象的值赋值给数组,stu肯定是调用addStudent()方法前创建的对象,所以就是把学生信息传入到学生数组了。
2、stu.setStudentSubject(this); 这条语句不是给数组元素赋值的,这个是后面3-7小节介绍学生和专业双向关联的时候用到的。在本小节中可以先不用。因为源码是这门课程源码,所以才会有这条语句。
视频里面的数组赋值不是通过构造方法传递进来的,构造方法并没有涉及到数组赋值的内容。
3、this.getMyStudents()[i]=stu;这句话是不能去掉的,如果去掉的话学生没有赋值到数组中。下次再添加学生的时候,会发现学生还是一开始那么多,根本没有增加。if语句就是判断数组元素是否为null,如果为null说明该位置处没有学生对象,所以可以赋值。如果不赋值,数组中就永远没有元素,第一个数组元素也永远为null,统计结果就不对了。
4、关于为什么不用setMyStudetns()[i]的问题,setMyStudents()方法是有参数并且无返回值的,它是不能和[i]一起使用的。此处的this.getMyStudents()是获取了数组,this.getMyStudents()[i],相当于Students[] stu1=his.getMyStudents(); stu1[i]=stu;所以并不是get方法赋值,而是get方法返回的数组,然后进一步进行赋值操作。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星