关于java自定义类的数组属性问题,给点建议吧~

比如我先定义一个类
class Student {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

public class Text{
public void main(String[] args){
Student[] stuArr=new Student[2];
Student stu=new Student();
stu.setName("Vin");
stu.setAge(20);
for (int i=0;i<2;i++) {
stuArr[i]=stu; //这行又是啥意思?为啥数组可以被对象赋值,如果可以那又有哪些参数被传递!!
}
for (int i=0;i<2;i++) {
System.out.println(stuArr[i]);
}
}
}

有谁可以可以向我解释一下这里面这个由Student定义的类到底有啥特性?为什么一定要用Student这个类定义?

Student[] stuArr=new Student[2];这句话是定义一个对象类型的数组,比如有两个学生,一个张三,一个是李四,两个人有不同的名字和行为,stuArr[0]和stuArr[1]分别代表两个不同的对象;stuArr[i]=stu; 对于这句话,对象类型数组当然得赋值对象了。跟Sting[]数组类型只能赋值String类型一样。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-05
Student[] stuArr=new Student[2];

这行定义的是一个Student 对象的数组,
该数组的大小为2,就是说该数组最多只能存放2个Student对象;
也就是stuArr[0]、stuArr[1],其实stuArr[i]只是持有Student对象的引用;
stuArr[i]=stu //意思是stuArr[i] 指向了stu 对象,即持有了对该对象的引用
第2个回答  2014-03-05
Student[] stuArr=new Student[2];
你定义的数字就是Student对象的数字,一共两个。
所以只能stuArr[i]=stu
是把刚刚新建的student对象赋给了数组。
赋其他的值是不可以的。

数字的类型是可以多样化的,不限定是数字。
第3个回答  2014-03-05
所有数组对象都是Array类型,具有它的所有属性和方法。Student后面的‘[]’表示声明的stuArr是一个数组类型的引用,Student表示stuArr这个数组对象存放的元素类型是Student类型,且只能存放该类型的数据。
第4个回答  2014-03-05
stuArr这个数组里面装的是Student这个类,不是Student的属性
你的数组是Student类型的,所以可以装Student这个类对象
相似回答