如果定义了带有参数的构造函数,则默认构造函数失效
原来的默认函数(没有参数的默认函数)需手动定义
另外,在验证这个的时候我犯了个错误,给构造函数加了返回类型void
这个问题导致了12行的报错。这是因为,在我加了void以后,Duck(int)变成了一个普通函数而不再是构造函数,在创建对象调用构造函数时,找不到带一个参数的构造函数。
在遇到这个问题的时候,我请教了王胖胖,王胖胖说:“构造方法没有返回啊,本来就是返回自己”,这句话其实是矛盾的,前半句是对的,构造方法没有返回,而不是返回他自己,当我们调用构造函数时,让=左边的引用类型指向右边被创建出来的对象的,是new在起作用。