1. 程式人生 > >Java基礎之方法過載與構造方法

Java基礎之方法過載與構造方法

Java中方法的過載與構造方法

1. 方法的過載

過載是指在同一個類內具有相同名稱的多個方法,這些同名方法如果引數個數不同,或者引數個數相同,但型別不同,則這些同名的方法就具有不同的功能。
注意:方法的過載中引數的型別是關鍵,僅僅是引數的變數名不同是不行的。也就是說,引數的列表必須不同,即:或者引數個數不同,或者引數型別不同,或者引數的順序不同。
方法的過載是指同一類內定義多個名稱相同的方法,然後根據其引數的不同(可能是引數的個數不同,或引數的型別不同)來設計不同的功能,以適應變成的需要。
說明:Java語言中不允許引數個數或引數型別完全相同,而只有返回值型別不同的過載。

2.構造方法

構造方法是一種特殊的方法,它是在物件被建立時初始化物件的成員方法。構造方法的名稱必須與它所在的類名完全相同。但在定義構造方法是,構造方法名前不能用void修飾,這是因為一個類的構造方法的返回值型別就是該類本身。構造方法定義後,建立物件是就會自動呼叫它,因此構造方法不需要在程式中直接呼叫。
構造方法的特殊性主要體現在如下幾個方面:
1.構造方法的方法名與類名相同
2.構造方法沒有返回值,但不能寫void
3.構造方法的主要作用是對類物件的初始化工作。
4.構造方法一般不能由程式設計人員顯式的直接呼叫,而是用new來呼叫。
5.在建立一個類的物件的同時,系統會自動呼叫該類的構造方法為新物件初始化

3.構造方法的過載

上面定義過方法的過載,因此構造方法的過載,可以讓使用者用不同的引數來建立物件。

4.從一個構造方法呼叫另一個構造方法

為了某些特定的運算,Java語言允許在類內從某一構造方法呼叫另一個構造方法,利用這個方法,可縮短程式碼,減少開發程式時間這一過程是通過this()語句來實現的。在這裡插入圖片描述
注意:
(1)在某一構造方法中呼叫另一構造方法時,必須使用this關鍵字來呼叫,否則編譯時將出現錯誤。
(2)this關鍵字必須寫在構造方法的第一行位置。