在類中除了成員方法之外,還存在一種特殊類型的方法,那就是構造方法。構造方法是一個與類同名的方法,對象的創建就是通過構造方法完成的。每當類實例化一個對象時,類都會自動調用構造方法。
構造方法的特點如下:
構造方法沒有返回值。
構造方法的名稱要與本類的名稱相同。
在定義構造方法時,構造方法沒有返回值,但這與普通沒有返回值的方法不同,普通沒有返回值的方法使用public void methodEx()這種形式進行定義,但構造方法並不需要使用void關鍵字進行修飾。
構造方法的定義語法格式如下:
public class Book{
public Book(){
//構造方法
}
}
public: 構造方法修飾符。
Book:構造方法的名稱。
在構造方法中可以爲成員變量賦值,這樣當實例化一個本類的對象時,相應的成員變量也將被初始化。
如果類中沒有明確定義構造方法,編譯器會自動創建一個不帶參數的構造方法。
this關鍵字:可以調用類的成員變量和成員方法,還可以調用類中的構造方法。
package javademo;
public class New {
int a=10;
public New(){
// this(111); //正常編譯
a = 1;
System.out.println(a);
// this(111); //編譯報錯,構造方法訪問其他構造方法,語句必須放在第一句
}
public New(int a){
a = 2;
System.out.println(a);
}
public int aaa(){
// this(111); //普通方法不能用this來訪問構造方法
this.a=410;
return 20;
}
public int bbb(){
int a = this.aaa();
return a;
}
// public New(int a){}
public static void main(String[] args) {
// TODO Auto-generated method stub
New b = new New();
b.a=30;
System.out.println(b.a);
// b = new New(1);
System.out.println(b.aaa());
// System.out.println(b.bbb());
}
}