public class InitialisingFields {
private final String a;
private final String b;
private final String c;
InitialisingFields(String a,String b){
this.a = a;
this.b = b;
}
InitialisingFields(String a,String b,String c){
this(a , b);
this.c = c;
}
public static void main(String[] args) {
InitialisingFields i = new InitialisingFields("A","B","C");
}
}
我想写InitialisingFields(String a,String b,String c)
构造函数,但它给我编译错误。如何编写2个构造函数来初始化2个不同的私有最终变量?
为InitialisingFields(String a,String b)
它说:“最后的空白领域c可没有被初始化” & 为InitialisingFields(String a,String b,String c)
它说:“最后的空白领域c可已经被初始化”
我不想修改InitialisingFields(String a,String b)
和添加一个参数,因为它已被很多类使用,我将不得不重构大量的类。并且对于我的用例,我希望使用此类的对象和其他参数。
你想要什么'C'是如果不提供? –
所有_final_变量必须在_each构造函数_的末尾初始化。 –
我希望c只在我调用构造函数时才被初始化。所以这样我就不会打破现有的类。 –