建構函式與預設建構函式
阿新 • • 發佈:2021-06-20
建構函式,是一種特殊的方法。 主要用來在建立物件時初始化物件, 即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中。
/** * 矩形 */ class Rectangle { /** * 建構函式 */ public Rectangle(int length, int width) { this.length = length; this.width = width; } public static void main (String []args){//使用建構函式建立物件 Rectangle rectangle = new Rectangle(10,5); } }
特別的一個類可以有多個建構函式,可根據其引數個數的不同或引數型別的不同來區分它們即建構函式的過載。
建構函式跟一般的例項方法十分相似;但是與其它方法不同,構造器沒有返回型別,不會被繼承,且可以有範圍修飾符。
構造器的函式名稱必須和它所屬的類的名稱相同。它承擔著初始化物件資料成員的任務。
如果在編寫一個可例項化的類時沒有專門編寫建構函式,多數程式語言會自動生成預設構造器(預設建構函式)。預設建構函式一般會把成員變數的值初始化為預設值,如int -> 0,Integer -> null。
如果在編寫一個可例項化的類時沒有專門編寫建構函式,預設情況下,一個Java類中會自動生成一個預設無參建構函式。預設建構函式一般會把成員變數的值初始化為預設值,如int -> 0,Integer -> null。
但是,如果我們手動在某個類中定義了一個有引數的建構函式,那麼這個預設的無參建構函式就不會自動添加了。需要手動建立!
/** * 矩形 */ class Rectangle { /** * 建構函式 */ public Rectangle(int length, int width) { this.length = length;this.width = width; } /** * 無參建構函式 */ public Rectangle() { } }