HeadFirstJava——4_对象的行为

状态影响行为,行为影响状态。

1 方法参数和返回类型

方法可使用一个或多个参数;

传给方法的参数必须符合声明时的数量、顺序和类型;

传入和传出方法的值类型可以隐含地放大或明确地缩小;

传给方法的参数值可以使直接指定的文字或数字或与所声明参数相同类型的变量;

方法必须声明返回类型,使用void类型代表方法不返回任何东西;

方法只能声明单一的返回值;若需要返回多个相同数据类型的值,把返回类型说明为该数据类型的数组,将值装进数组中;若有不同数据类型的值,需要用到ArrayList。


2 值传递

Java是通过值传递,即通过拷贝传递,因此方法无法改变调用方所传入的参数。


3 Getter和Setter

Getter返回实例变量的值,Setter取一个参数来设定实例变量的值。

String getBrand(){
	return brand;
}

void setBrand(String abrand){
	brand=abrand;
}


4 封装

没有封装,则可通过圆点运算符对实例变量进行存取。

需要建立Setter方法设定所有实例变量,而不是直接存取;

Java中,使用共有和私有这两个存取修饰符;

封装的基本原则是将实例变量标记为私有,并提供公有的Getter和Setter方法控制存取动作。


5 实例变量与局部变量

5.1 实例变量

实例变量有默认值,整型的值为0,浮点型的值为0.0,布尔型的值为false,引用的值为null;。

5.2 局部变量

局部变量没有默认值。

5.3 区别

实例变量是声明在类内,局部变量声明在方法内;

局部变量在使用前必须初始化;


6 变量的比较

使用==比较两个primitive主数据类型,或判断两个引用是否引用同一个对象;

使用equals()判断两个对象是否在意义上相等。

Foo a = new Foo();
Foo b = new Foo();
Foo c = a;
if (a == b) { // false }
if (a ==c ) { // true }
if (b == c) { // false}


你可能感兴趣的:(HeadFirstJava——4_对象的行为)