类的成员方法用于对成员变量进行操作,可以分为3类:构造方法,用于对成员变量进行初始化;访问器方法,对成员变量赋值或者用于获取成员变量的值;业务方法,完成特定的功能。
1、构造方法
构造方法用于对成员变量进行初始化,构造方法的特点如下:
方法名与类名相同;
方法没有返回值类型。
例如:
public class Person{
private int height;
private Date birthday;
private String name;
public Person(){
}
}
类的构造方法可以有多个,称为构造方法的重载。不同的构造方法采用不同的方式对成员变量进行初始化,下面提供了Person类的3个构造方法:
public Person(){
}
public Person(String name){
this.name = name;
}
public Person(String name,int height){
this.name = name;
this.height = height;
}
在构造方法中可以调用其它的构造方法,这样可以减少重复的代码,要调用构造方法可以使用this(参数列表),上面的第3个构造方法可以写成:
public Person(String name, int height) {
this(name);
this.height = height;
}
注意:调用其它构造方法的代码必须放在构造方法的第一行,下面的代码就是错误的:
public Person(String name, int height) {
this.height = height;
this(name); // 这是错误的,必须放在第一行
}
this关键字的用法后面介绍。
2、访问器方法
通常成员变量都是私有的,为了供外界访问,必须提供公有的方法,包括获取属性值的方法get方法,和对属性赋值的方法set方法。例如对于上面的height属性,应该提供如下两个方法:
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
set方法的命名规则为set加上属性的名字,属性名字首字母换成大写的,例如:属性birthday,应该提供setBirthday方法,通常情况下,set方法的返回值通常是void,方法的参数类型与操作的属性的类型一致;
get方法的命名规则为get加上属性的名字,属性名字首字母换成大写的,例如:属性birthday,应该提供getBirthday方法,通常情况下,get方法的返回值类型与要访问的属性的类型一致,不需要参数,所以方法的参数列表为空;
对于布尔类型的属性值,获取属性值的方法有时候可以写成is+属性的方法,例如某个属性表示是否打开,方法名可以写成isOpen,方法的定义可以写成:
public boolean isOpen(){
retrun open;
}
对于数组类型(关于数组的内容,请参考Java基础:第十四讲 数组)的属性,可以获取整个数组的值,也可以获取数组中某个元素的值,可以设置整个数组的值,也可以设置数组中某个元素的值,所以应该提供4个方法,例如属性int[] a,应该提供如下方法:
public int[] getA() {
return a;
}
public void setA(int[] a) {
this.a = a;
}
public void setA(int value,int index){
a[index] = value;
}
public int getA(int index){
return a[index];
}
前两个方法对整个数组进行操作,而后两个方法对数组中的某个单元进行操作。
3、业务方法
业务方法用于描述对象具有的功能,业务方法的定义和编写可以参考前面介绍的方法定义(Java基础:第十五讲 方法使用)
上一讲介绍了成员变量,本次内容介绍了成员方法,结下来介绍,如果使用类创建对象并调用对象的方法。
16万+

被折叠的 条评论
为什么被折叠?



