如何简化类似的构造函数?

时间:2014-04-24 15:19:40

标签: java

嘿伙计们怎么能简化这个: 是否有必要有两个不同的构造函数,只有一点点差异。 有没有办法简单地使用其中一个?

public class MyCostructor {

    public MyCostructor(int w, int h, String name) {
         this.w = w;
         this.h = h;
         this.name = name;
    }

    public MyCostructor(int w, int h) {
         this.w = w;
         this.h = h;
    }
}

2 个答案:

答案 0 :(得分:6)

是的,您可以使用关键字this来调用另一个构造函数,并且您尊重DRY原则(不要重复自己)。

public MyCostructor(int w, int h){ 
   this(w,h,null);
}

您可以阅读更多here(使用构造函数使用此部分)

答案 1 :(得分:3)

在构造函数中使用this()

public MyCostructor(int w, int h, String name) {
    this(w, h);
    this.name = name;
}

public MyCostructor(int w, int h) {
    this.w = w;
    this.h = h;
}