对象有状态和行为两种属性,分别由实例变量和方法来表示。
1. 对象的行为
状态影响行为,行为影响状态。
1.1 传值给方法
方法会运用形参。调用的一方会传入实参。
实参是传给方法的值,当它传入方法后就成了形参。
-------------------------------------------------------------------------
1.2 从方法取返回值
方法声明时如果为 viod 则无返回值,如果为其他类型,则有返回值,且必须返回所声明类型的值。
方法只能声明单一返回值。
多个同类型返回用数组。
多个不同类型的值要返回时,用 ArrayList 。
Java 并未要求一定要处理返回值。
-------------------------------------------------------------------------
1.3 可以向方法传入一个以上的参数
方法可以有多个参数,在声明时要用逗号分开,传入时也用逗号分开。最重要的是,如果方法有参数,一定要以正确的数量、类型和顺序来传递参数。
-------------------------------------------------------------------------
1.4 Java 是通过值传递的,也就是通过拷贝传递。
-------------------------------------------------------------------------
1.5 封装
将实例变量设定为 private 的,将 setter 和 getter 方法设定为 public 的。就可以避免实例变量被随意的更改,造成一些不必要的或者重大的后果。
-------------------------------------------------------------------------
1.6 声明与初始化实例变量
实例变量永远都会有默认值。就算没有明确的赋值给实例变量,实例变量还是会有值。
数字的 primitive (包括 char)的预设为 0 。
boolean 的预设为 false 。
对象引用预设为 null 。
-------------------------------------------------------------------------
1.7 实例变量与局部变量之间的差别
a. 实例变量是声明在类内而不是方法中。
b. 局部变量是声明在方法中的。
c. 局部变量在使用前必须初始化。
局部变量没有默认值!如果在变量被初始化前就使用的话,编译器会显示错误。
-------------------------------------------------------------------------
1.8 变量的比较(primitive 主数据类型或引用)
使用 == 来比对 primitive 主数据类型。
使用 == 来判别两个引用是否都指向同一对象。
使用 equals() 来判断两个对象是否意义上相等(比如两个 String 对象是否带有相同的字节组合)