目录
如何创建对象的数组
数组是一个对象,它里面的元素可以是primitive主数据类型
注意第二步中虽然创建了一个Dog类型的数组pets,也就是这个数组里的每个元素都可以控制一个Dog对象,但截至第二步为止,这些元素没有被指定一个对象让它控制。直到第三步,分别让[0]和[1]元素指向了两个new出来的Dog对象。
注意Java中创建数组的方式:Dog[ ] pets;与C中有区别。
Java中,数组有一个自带的属性length,pets.length就是这个数组的元素个数
回答左下角的问题:pets[2]为空,不引用任何事物;pets[3]=pets[1]可以让pets[3]引用原本pets[1]引用的那个对象。
Java中传参、返回参的注意事项
封装
下面给出一个封装的实例
封装的过程可以简单地认为是:将实例变量(某个对象具有的状态、数据,如一只猫的高度、重量、种类等)设定为private类型,以此来防止其它人直接不合理地修改某些实例变量(比如将一只猫的高度设定为负数),将getter,setter方法(分别用来取、存数据)设定为public类型,用于其它人调用。这样一来,在getter、setter方法中,就可以通过一定的方法来避免其它人不合理地修改,比如只有当cat_height>0时,才允许将传入的实参赋给cat_height。
实例变量永远有初始值
boolean变量的默认值和C语言中bool变量的默认值一样,都是false
String类型和对象引用类型的默认值都是null
实例变量和局部变量的区别
局部变量没有初始默认值,和实例变量不同。
变量的比较
注意,==也可以判断两个引用变量是否指的是同一个对象,因为比较的是两个引用变量的字节组合,一个对象对应一个字节组合。