为什么这个地方必须要写一个无参构造方法,才能正确创建对象?

如果Student里没有写无参构造
img
后面创建对象的时候会报错

img

我在Student类里面必须创建一个无参构造,在UserStudent类里才可以正确调用对象。不创建无参构造会报错:构造函数Student()未定义。

img

img
求解释一下

这个就是Java的机制问题了。
如果不写构造函数,会自动加上默认的无参的构造函数;如果写了带参的构造函数,就不会自动产生无参的构造函数,就是你遇到的这种情况。

原因很明显,就是你有在类中定义有参的构造方法,所以当你想创建无参构造方法时,就会报错,因为你没有定义无参构造方法。
注意:类中默认会有无参构造方法,但是如果类中定义了有参构造方法的话,无参构造方法就会被覆盖掉,需要使用的时候,就需要自定义了。
img