我试图让继承类要求更少的参数,并为父类(super class)计算“正确”的错误参数。 寻求有关如何在不使用工厂方法的情况下执行此操作的帮助。
这是一个简化事情的示例代码。 Son(int)会根据int的值调用super(int,boolean)。
class Base {
...
public Base (int num, boolean boo2) { ...}
...
}
class Son extends Base {
...
public Son (int num) {
if (num > 17)
super(num, true);
else
super(num , false);
}
...
}
我也考虑过让 Base 成为一个接口(interface),但这不允许我强制执行一些参数正确性检查。
感谢您的帮助。
最佳答案
我不是 100% 确定,但这行得通吗?
class Son extends Base {
...
public Son (int num) {
super(num, (num>17));
}
...
}
关于Java - 如何根据继承类的构造函数参数调用不同的 super()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20999559/