第一个普通的实现类,可以调用!
而第二个升级的实现类,不可以调用(除非在升级的实现类里写上一个不带参数的空方法才可以new,为什么? 调用的时候(升级的实现类)也会报错,但是更改的内容可以显示出来!)
你好,因为第二个升级的实现类没有默认的空构造方法,所以不能直接new。
每一个类都有构造方法,写法是这样的。
public Customer(){
}
这是空的构造方法,你不写也没事,就算不写也会有这么一个方法。构造方法的作用就是在你new对象的时候,直接调用。
记住一个口诀:
1.类名打括号 = 调用构造方法,左边一定会有个new。
2.方法名打括号 = 调用这个方法,默认传入一个this(没有static的情况)
3.方法名打括号 = 调用这个方法,不传入this(有static的情况)