假设我有一个使用输入的构造函数和另一个使用默认值的构造函数。然后,两个构造函数都以完全相同的方式继续处理这些数据。(下面的示例。)在这种情况下,我有哪些避免代码重复的选择?
(我已经阅读了如何减少构造函数重载代码的帖子,其中最佳答案建议使用关键字“this”。就我而言,我想我需要使用“this”从第二个构造函数调用第一个构造函数存储输入之后的一个。然而,这会导致编译错误:“调用 this 必须是构造函数中的第一个语句”。)
示例代码:
public class A {
public A(String a) {
//process a
}
public A() {
String a = "defaultString";
//process a
}
}
编辑:我因在类构造函数中使用输入对话框调用而大受打击(我知道这不是很好的做法)。因此,我更改了代码示例,以引导讨论远离此 :)。