Students[] stu = new Students[3];这一步叫实例化,实例化是只在内存中给对象分配一个存储空间,不是指赋值。
students[0]=new Student();这个的意思就是创造了一个Student类型的数据,并装入数组的第一个元素位引用类型的数据都是在堆上开辟空间,如果是null值,则是未开辟空间,这时候,这个类型的数据实际上是不存在的,也就是空指针,如果你直接使用他的字段,会抛空指针异常.
new Students();会在堆上生成一个对象,消耗一个对象的空间;stu[0]是对象的一个引用,一个引用消耗的空间就是一个Int数据,很小的,;stu[0]=XXX 表示的是让这个引用指向XXX对象. |