
java中用自定义类声明了数组和方法,同时在main()方法中创建了对象,卡在用对象作为实参进行传参这块?
比如我新建了个Student类,类中包含了id,name,2个属性。具体代码片段如下:classStudent{intid;Stringname;}publicclass...
比如我新建了个Student类,类中包含了id,name,2个属性。
具体代码片段如下:
class Student{
int id;
String name;
}
public class StudentBiz{
Student[] students = new Student[30];
public void addStudent(Student stu){
for (int i=0;i<student.length;i++){
if(students[i] == null){
students[i] = stu; //这句看不明白,实参对象student1究竟是做了赋值?还是只是改变了student【】数组的内存地址,使它指向了student1而已?
break;
}
}
}
public class Test{
public static void main (String[] args){
Student student1 = new Student();
student1.id = 10;
student1.name = "XXX";
StudentBiz StudentBiz = new StudentsBiz();
studentBiz.addStudent(student1);//这句也不明白,用对象来传实参究竟是仅仅把对象名传过去了还是把该对象所对应的属性值一起赋值进入student[]数组中了??
我的理解是这个student[]数组里的每个student[i]所存储的内容包含id、name这两个属性,但和之前学习的用int【】声明的数组有些不一样,所以不太明白,可能是我理解错了。
本人刚刚开始学习JAVA,请各位大虾帮下忙,多谢多谢 展开
具体代码片段如下:
class Student{
int id;
String name;
}
public class StudentBiz{
Student[] students = new Student[30];
public void addStudent(Student stu){
for (int i=0;i<student.length;i++){
if(students[i] == null){
students[i] = stu; //这句看不明白,实参对象student1究竟是做了赋值?还是只是改变了student【】数组的内存地址,使它指向了student1而已?
break;
}
}
}
public class Test{
public static void main (String[] args){
Student student1 = new Student();
student1.id = 10;
student1.name = "XXX";
StudentBiz StudentBiz = new StudentsBiz();
studentBiz.addStudent(student1);//这句也不明白,用对象来传实参究竟是仅仅把对象名传过去了还是把该对象所对应的属性值一起赋值进入student[]数组中了??
我的理解是这个student[]数组里的每个student[i]所存储的内容包含id、name这两个属性,但和之前学习的用int【】声明的数组有些不一样,所以不太明白,可能是我理解错了。
本人刚刚开始学习JAVA,请各位大虾帮下忙,多谢多谢 展开
1个回答
展开全部
1、students[i] = stu;这个语句是赋值语句,将stu参数对象赋给数组中的每一个位置。因为数组都有默认值,比如int为0,对象为null。
2、studentBiz.addStudent(student1);调用了对象的方法,将student对象传递给方法。
用于add方法进行数组的赋值。
3、students[i]代表数组中的每一个元素,也就是每一个student对象。你可以自己在studentBiz编写方法打印每一个元素的属性,比如students [i].name
2、studentBiz.addStudent(student1);调用了对象的方法,将student对象传递给方法。
用于add方法进行数组的赋值。
3、students[i]代表数组中的每一个元素,也就是每一个student对象。你可以自己在studentBiz编写方法打印每一个元素的属性,比如students [i].name
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询