您好,登錄后才能下訂單哦!
這篇文章給大家介紹Java項目中和實現自動生成一個構造方法,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Java中自動生成構造方法詳解
每個類在沒有聲明構造方法的前提下,會自動生成一個不帶參數的構造方法,如果類一但聲明有構造方法,就不會產生了.證明如下:
例1:
class person { person(){System.out.println("父類-person");} person(int z){} } class student extends person { // student(int x ,int y){super(8);} } class Rt { public static void main(String[]args) { student student_dx=new student();//創建student類的對象 } } //輸出結果:父類-person
例2:
class person { person(){System.out.println("父類-person");} person(int z){} } class student extends person { student(int x ,int y){super(8);} } class Rt { public static void main(String[]args) { student student_dx=new student(3,4);//創建student類的對象 } } //沒有輸出結果
例1說明:student類自動生成student() {super();}(前提是:student類沒有聲明構造方法的前提下) 'super()'是用來調用父類的構造方法.
例2中的person()方法沒有被調用,說明student類沒有產生student(){super();}方法.這是因為student類已經聲明構造方法,默認的那個不帶參數的構造方法就不產生了.
再舉例:
class person { person(int z){} } class student extends person { } class Rt { public static void main(String[]args) { student student_dx=new student();//創建student類的對象 } } /*報錯: exercise14.java:8: 找不到符號 符號: 構造函數 person() 位置: 類 person class student extends person ^ 1 錯誤 */
說明:student類自動產生了一個student(){super();},但是由于person類已經聲明了構造方法,默認的那個帶參數的構造方法沒有產生.,所以報錯中提到找不到構造函數person()
關于Java項目中和實現自動生成一個構造方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。