默認構(gòu)造器(又名“無參”構(gòu)造器)是沒有形式參數(shù)的——它的作用是創(chuàng)建一個“默認對象”。如果類里面沒有構(gòu)造器,編譯器就會自動幫你創(chuàng)建一個默認構(gòu)造器。
class Bird {}
public class DefaultConstructor83 {
public static void main( String[] args ) {
Bird b = new Bird(); //
}
}```
```java
Bird b = new Bird(); 就是調(diào)用默認構(gòu)造器——即使沒明確定義它。
如果已經(jīng)定義了一個構(gòu)造器(無論是否有參數(shù)),編譯器就不會幫你自動創(chuàng)建默認構(gòu)造器:
class Bird2 {
Bird2( int i ) {}
Bird2( double d ) {}
}
public class NoSynthesis83 {
public static void main( String[] args ) {
//Bird2 b1 = new Bird2(); //No default
Bird2 b2 = new Bird2( 1 );
Bird2 b3 = new Bird2( 2.33 );
}
}```
這里必須用 **Bird b2 = new Bird()**, 如果是 **new Bird()** 就會報錯。