類的成員方法用於對成員變數進行操作,可以分為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基礎:第十五講 方法使用)
上一講介紹了成員變數,本次內容介紹了成員方法,結下來介紹,如果使用類建立對象並調用對象的方法。
上一次:
第二十八講 成員變數下一次: 第三十講 對象的建立和訪問李緒成 CSDN Blog:http://blog.csdn.net/javaeeteacher邀請您為好友:http://student.csdn.net/invite.php?u=124362&c=7be8ba2b6f3b6cc5