我接受了Java采访的采访,小组问我一个问题。代码是
public class ClassA
{
int a,b;
public ClassA(int a)
{
this.a = a;
}
public ClassA(int a,int b)
{
this.a = a;
this.b = b;
}
}
他们问我,我们已经在代码中编写了两次代码(this.a = a;)。因此,不应多次编写一个代码。我们如何编写它一次,它应该在两个构造函数被调用时起作用?
答案 0 :(得分:10)
面试官意味着这个
public class ClassA
{
int a,b;
public ClassA(int a)
{
this.a = a;
}
public ClassA(int a,int b)
{
this(a); // calling another constructor
this.b = b;
}
}
答案 1 :(得分:0)
使用setter方法:
public class ClassA {
int a,b;
public ClassA(int a) {
this.setA(a);
}
public ClassA(int a,int b) {
this.setA(a); // calling another constructor
this.b = b;
}
public void setA(int a) {
this.a = a;
}
}