java – 如何调用超级(…)和这(…)在重载构造函数的情况下?
发布时间:2020-08-05 08:29:15 所属栏目:Java 来源:互联网
导读:我以前从来不需要这样做,但由于两者都必须是构造函数中的“第一行”,应该如何处理它?对于这样的情况,最好的重构是什么? 以下是一个示例: public class Agreement extends Postable {public Agreement(User user, Data dataCovered){ super(user); this(use
|
我以前从来不需要这样做,但由于两者都必须是构造函数中的“第一行”,应该如何处理它?对于这样的情况,最好的重构是什么? 以下是一个示例: public class Agreement extends Postable {
public Agreement(User user,Data dataCovered)
{
super(user);
this(user,dataCovered,null);
}
public Agreement(User user,Data dataCovered,Price price)
{
super(user);
if(price!=null)
this.price = price;
this.dataCovered = dataCovered;
}
...
}
对super(用户)的调用是绝对必需的.在这种情况下如何处理“可选参数”?我可以想到的唯一方法是重复,即不要称之为(…).只需在每个构造函数中执行任务. 解决方法你不能同时调用超级(..)和这个(…).您可以做的是重新构建重载的构造函数的结构,以便最后一个被调用的调用将调用super(…). 如果这不是一个选项,你必须在每个构造函数中执行赋值.(编辑:长春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 如何解决Mybatis--java.lang.IllegalArgumentExc
- 为什么java不会将int []转换成Integer []
- java – Outputstream是一个抽象类,所以我们不能
- java HttpServletRequest和HttpServletResponse详
- JAVA实现JSON后端向前端传递数据
- java – SFTP上传使用Apache Commons VFS下载Exi
- Java 逻辑运算符中与,||与|的区别
- java – 将列表转换为List(或扩展Number的任何类
- java使用Hashtable过滤数组中重复值的方法
- java – 使用反射从抽象基类访问构造函数
热点阅读
