默认构造函数重载

时间:2014-03-28 02:19:45

标签: java date constructor overloading

可能是一个非常愚蠢的问题但是我无法使用date来使用默认构造函数。这就是我剩下的事情。谢谢,如果你能解释为什么你初始化它也会很棒。谢谢你!

    private String first;
 private String last;
 private double sales;
 private  Date date; 

 public SalesAgent(){
   this("", "", 0, (my problem lays here) );
 }
 public SalesAgent(String first, String last, double sales, Date date){
   setDate(date);
   setFirst(first);
   setLast(last);
   setSales(sales);
 }

1 个答案:

答案 0 :(得分:1)

如果你有一个no-arg构造函数作为另一个设置字段的构造函数的传递,那么首选的约定是直接设置字段而不是通过setter。

public SalesAgent() {
    // Seems more desirable to instantiate a new Date than leave it null
    this("", "", 0, new Date());
}

没有二传手:

 public SalesAgent(String first, String last, double sales, Date date) {
     this.first = first;
     this.last = last;
     this.sales = sales;
     this.date = date;
 }