一.構(gòu)造方法:創(chuàng)建對象時用來初始化該對象的方法,其方法名必須與所在類名相同。如果
我們沒有提供構(gòu)造方法,系統(tǒng)在編譯時會自動提供一個無參構(gòu)造方法;
- (1)構(gòu)造方法沒有返回值(包括void);
(2)構(gòu)造方法可以被重載,但不能被重寫(有參構(gòu)造方法不能被繼承);
(3)子類創(chuàng)建對象時,先創(chuàng)建父類對象。
(4)一個構(gòu)造方法中調(diào)用另一個構(gòu)造方法時,要用 this (參數(shù)) 來實現(xiàn),且必須放
在該構(gòu)造方法的第一行。
二.構(gòu)造方法的繼承問題:
- 子類只能繼承父類中的無參構(gòu)造方法;如果父類中沒有無參構(gòu)造方法,則子
類不能繼承父類中的構(gòu)造方法。 - 子類繼承的父類的無參構(gòu)造方法不能成為子類的無參構(gòu)造方法。
- 創(chuàng)建對象時,先調(diào)用父類的無參構(gòu)造方法進行初始化,然后才是子類的。
- 子類必須調(diào)用父類的非默認(rèn)構(gòu)造方法,調(diào)用時要使用super方法;如果是默
認(rèn)構(gòu)造方法,則系統(tǒng)會自動調(diào)用。
三.?dāng)U展
- this的用法
this:指代對象本身,是指向本對象的一個指針。
用法:
(1)、一個類明確調(diào)用自己的屬性和方法時,使用 this. 屬性名 和 this. 方法名
(通常this會省略)。
(2)、一個構(gòu)造方法調(diào)用本類的其他構(gòu)造方法時,使用 this(參數(shù)),且必須放
在第一行。
(3)、局部變量與全局變量重名時,使用this標(biāo)記全局變量。
注:this只能用在非靜態(tài)方法的方法體中。 - super的用法
super:指父類,是Java的一個關(guān)鍵字。
用法:
(1)、子類調(diào)用父類的構(gòu)造方法,使用 super. ( [參數(shù)] ),且必須放在第一行。
(2)、子類調(diào)用父類的變量和方法,使用 super. 變量名 和super. 方法名([參數(shù)])。
注:super只能用在非靜態(tài)方法的方法體中;且不能與this同時出現(xiàn)在一個構(gòu)造方法中。