Java中的缺省構造方法 – JAVA編程語言程序開發技術文章

如果你寫的類中沒有構造方法,則編譯器會自動幫你創建一個缺省構造方法(無參的構造方法)。

但是,如果你已經定義瞭一個構造方法(無論是否有參數),編譯器就不會幫你自動創建缺省構造方法。

有一個類:

[java]
    class Dog { 
    private String name; 
 
    Dog(String name) {} 

class Dog {
    private String name;

    Dog(String name) {} www.aiwalls.com
}
這個類已經有一個有參的構造方法瞭,所以編譯器就不會幫你自動創建無參的缺省構造方法瞭,如果你這樣寫:

[java] view plaincopyprint?new Dog(); 
new Dog();

編譯器就會報錯:沒有找到匹配的構造器。這就好比,要是你沒有提供任何構造器,編譯器會認為:“你需要一個構造器,讓我給你制造一個吧”,但假如你已寫瞭一個構造器,編譯器則會認為:“啊,你已寫瞭一個構造器,所以你知道你在做什麼;你是刻意省略瞭缺省構造器。”

 作者:tianjf0514
 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。