重载构造函数
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
编译器一定会帮你写出没有参数的构造函数吗?NO!
编译器只会在你完全没有设定构造函数时才会帮你写没有参数的构造函数。如果你已经写了一个有参数的构造函数,并且你需要一个没有参数的构造函数,则你必须自己动手写!如果类有一个以上的构造函数,则参数一定要不一样。
重载构造函数的意思代表你有一个以上的构造函数且参数都不相同。
下面列出的构造函数都是合法的。因为参数都不相同。假设说有两个构造函数的参数都是只有一个int,则肯定无法通过编译程序。编译器看的是参数的类型和顺序而不是参数的名字。你可以做出相同类型但是顺序不同的参数。使用String以及int型的参数顺序与使用int以及String型的参数顺序是不同的,因此可以作为两个构造函数的参数来使用。
public class Mushroom {
public Mushroom(int Size) {}
public Mushroom( ) {}
public Mushroom(boolean isMagic ) {}
public Mushroom(boolean isMagic ,int size) {}
public Mushroom(int size, boolean isMagic) {}
}
在线练习
{$ activeFileHint $}