第一个普通的实现类,可以调用!
而第二个升级的实现类,不可以调用(除非在升级的实现类里写上一个不带参数的空方法才可以new,为什么? 调用的时候(升级的实现类)也会报错,但是更改的内容可以显示出来!)

java装饰者模式的调用问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注
你好,因为第二个升级的实现类没有默认的空构造方法,所以不能直接new。
每一个类都有构造方法,写法是这样的。public Customer(){ }
这是空的构造方法,你不写也没事,就算不写也会有这么一个方法。构造方法的作用就是在你new对象的时候,直接调用。
记住一个口诀:
1.类名打括号 = 调用构造方法,左边一定会有个new。
2.方法名打括号 = 调用这个方法,默认传入一个this(没有static的情况)
3.方法名打括号 = 调用这个方法,不传入this(有static的情况)
更多java基础知识,可以访问我的自学网站:
Java小白翻身官网 Java知识分享网,Java资源网,专业的Java资源下载网站 http://java18.cn/本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用