比如我先定义一个类
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这个类定义?
关于java自定义类的数组属性问题,给点建议吧~
答案:6 悬赏:30 手机版
解决时间 2021-03-18 09:10
- 提问者网友:斑駁影
- 2021-03-17 22:03
最佳答案
- 五星知识达人网友:山河有幸埋战骨
- 2021-03-17 22:18
java中定义一切对象变量均表示引用,比如定义Object obj = new Object(); 执行该语句,java虚拟机进行了两项操作,一、创建名称为obj的应用;二、创建一个新对象,并把该对象的地址给obj引用。
同样的,创建一个数组,Stutent[] array=new Student[2]; 创建了一个数组引用,一个长度为2数组对象,只不过该对象是用来存储Student对象的。new 一个对象之后,这个对象内部的引用仍然指向null。需要通过赋值语句stuArr[index]=stu, 将该某一对象的地址赋给数组内部指定index的引用。
一般的,我们定义一个数组对象,Object[] array=new Object[10], 因为java中所有类均为Object的子类,引用array[index]可以指向任何对象,如array[0]=new Student(), array[1]=new Object()。
这么说你明白了吧?
同样的,创建一个数组,Stutent[] array=new Student[2]; 创建了一个数组引用,一个长度为2数组对象,只不过该对象是用来存储Student对象的。new 一个对象之后,这个对象内部的引用仍然指向null。需要通过赋值语句stuArr[index]=stu, 将该某一对象的地址赋给数组内部指定index的引用。
一般的,我们定义一个数组对象,Object[] array=new Object[10], 因为java中所有类均为Object的子类,引用array[index]可以指向任何对象,如array[0]=new Student(), array[1]=new Object()。
这么说你明白了吧?
全部回答
- 1楼网友:风格不统一
- 2021-03-18 01:35
stuArr这个数组里面装的是Student这个类,不是Student的属性
你的数组是Student类型的,所以可以装Student这个类对象
- 2楼网友:往事隔山水
- 2021-03-18 00:28
stu数组只是定义但是没有初始化,所以你调用flag会出问题
- 3楼网友:酒者煙囻
- 2021-03-18 00:16
Student[] stuArr=new Student[2];
这行定义的是一个Student 对象的数组,
该数组的大小为2,就是说该数组最多只能存放2个Student对象;
也就是stuArr[0]、stuArr[1],其实stuArr[i]只是持有Student对象的引用;
stuArr[i]=stu //意思是stuArr[i] 指向了stu 对象,即持有了对该对象的引用
- 4楼网友:三千妖杀
- 2021-03-17 22:56
对象数组啊 意思是这个数组里的成员都是对象
这和String数组是一回事
类 :就是一大堆具有相关联系的事物的集合,和C语言里的结构的类似,只是多了方法
- 5楼网友:我住北渡口
- 2021-03-17 22:48
Student[] stuArr=new Student[2];
你定义的数字就是Student对象的数字,一共两个。
所以只能stuArr[i]=stu
是把刚刚新建的student对象赋给了数组。
赋其他的值是不可以的。
数字的类型是可以多样化的,不限定是数字。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯