在講解構造方法之前,先來觀察以下的代碼:
Person per = new Person() ; |
以上的Person()就表示的是一個構造方法,此構造方法屬於默認的構造方法。
構造方法的定義:在一個類中定義的方法名稱與類名稱相同,且無返回值聲明的方法,稱爲構造方法。
但是,在一個類中如果沒有明確的定義一個構造方法的話,則會自動生成一個無參的,什麼都不做的構造方法。
構造方法是在實例化對象時使用,而普通方法是在實例化對象產生後使用的。
可以發現,所有的構造方法是在對象使用關鍵字new進行實例化的時候調用的,而且每次使用關鍵字new開闢新的堆內存空間時,構造方法都要被調用。
實際上構造方法屬於整個對象構造過程的最後一步,主要作用就是爲一個類中的屬性初始化的。
可以發現,構造方法在對象實例化的時候調用,所以一般構造方法的主要作用是在一個對象實例化時,向類中的屬性傳遞一些初始化內容使用的。
當一個類中已經明確的定義了一個構造方法的時候,則無參構造方法將不再自動生成,也就是說一個類永遠都會保證至少有一個構造方法。
構造方法本身既然是方法,方法就允許重載,所以構造方法本身也可以進行重載的操作,重載的原則:方法名稱相同,參數的類型或個數不同,方法名稱一定要和類名稱保持一致。