我有一个有两个构造函数的类,它们共享一些共同的功能。它们也有自己特定的功能。
我正在考虑创建一个私有方法并从两个构造函数中调用它。这个方法应该是私有构造函数吗?
如果此方法是常见的构造函数行为 - 然后是 IMO - 是的,它将使代码更具可读性。
一个常见的用法是例如(java语法):
MyClass() {
this(SOME_DEFAULT_VALUE);
}
MyClass(int x) { ... }
有时您必须将此方法编写为构造函数,例如(再次是 java)它设置了一个final
字段,该字段不能在方法中修改。
你的两个构造函数都需要一个方法,我猜之前(或之后)已经执行了不同的操作。它本身不必是构造函数。它可以,而且在我看来应该(至少据我从你的问题中可以理解),通过一种私人方法。