構造方法的特點:
1、構造方法的方法名必須和當前的類名保持一致。
2、構造方法是沒有返回值的,也就是在書寫構造方法的時候不能書寫返回值型別(注意這裡連void都不能寫)可以新增修飾符
構造方法中需要注意的問題:
1、如果在乙個構造方法中呼叫其他的構造方法,那麼這個this()呼叫必須寫在該類這個構造方法中的第一行。
2、在乙個類中的構造方法可以呼叫其他的構造方法,但是不能形成相互巢狀在一起呼叫,因為呼叫會無法停止,
導致物件建立無法正常結束。
3、構造方法是沒有返回值的,如果在乙個類中書寫了乙個方法,方法名和類名一致,但是這個方法有返回值型別,
那麼這個方法不是構造方法,而是乙個一般的方法。
開發時不要把普通的方法名稱定義的和類名一致
4、構造方法可以呼叫一般方法嗎?
構造方法是可以呼叫一般方法的。構造方法在執行的時候,是被某個正在建立的物件呼叫的。
也就是說明當前這個物件在堆已經存在,只是正在進行初始化動作,這個時候物件已經有了,
那麼就可以通過這個物件呼叫一般的方法了。
5、一般方法可以呼叫構造方法嗎?
不可以。因為一般方法在執行的時候,說明物件早已經建立完成了,那就說明構造方法早就執行過去了。
構造方法是在建立物件的過程中執行的方法,而一般方法執行的時候,物件已經存在,構造方法執行了。
為什麼要this呼叫構造方法,而不使用構造方法名呼叫構造方法呢?
由於在乙個類中可以把普通的方法的名字定義的和構造方法名稱一致,
這樣在構造方法中通過名稱呼叫其實根本無法呼叫其他的構造方法,只能呼叫本類的一般方法。
所以我們要呼叫構造方法,只能使用this。
程式**:
class person
stringname;
intage;
//這個構造方法是給姓名和年齡同時初始化的
person(string nm , int a )
//name = nm;
this(nm);//在呼叫本類中的可以接收乙個引數並且是string型別的構造方法
//this(a); 這裡報錯,因為this()只能放在第一行,而第一行已經呼叫了其他的構造方法
//呼叫一般方法
person(nm,a);
//只能給姓名進行初始化
person(string nm )
//this(nm,123);
name = nm;
Java構造方法
所謂的構造方法,就是在建立物件的時候自動呼叫的方法。我們來直接看個例子。public class mail mail string name,string addr 有參的構造方法 public void send public class test 在mail郵件類中,我寫了三個方法,其中有兩個是...
Java 構造方法
構造器 構造方法 用於物件初始化!注意 1.構造方法名稱必須和類名稱相同!2.構造方法的呼叫只能在物件例項化的時候呼叫,當new 類名 之後,系統自動執行構造方法!不能通過物件名.構造方法去呼叫 無引數構造方法 public class cat 成員方法 跑動,吃東西 public void run...
Java 構造方法
關於構造器 變數優於方法執行,只要在方法外面 包括構造器 此處我主要想說明,用構造器建立類和變數的初始化順序,該程式輸出 person 1 person 3 this is build s block person 2 說明 不論變數放在哪兒,都會先於任意乙個方法的執行前執行,包括構造方法,而構造方...