我想知道为什么在java构造函数是不继承的?你知道当你上这样的课时:
public class Super {
public Super(ServiceA serviceA, ServiceB serviceB, ServiceC serviceC){
this.serviceA = serviceA;
//etc
}
}
稍后当你继承Super
时,java会抱怨没有定义默认构造函数。解决方案显然是这样的:
public class Son extends Super{
public Son(ServiceA serviceA, ServiceB serviceB, ServiceC serviceC){
super(serviceA,serviceB,serviceC);
}
}
这段代码是重复的,不是DRY和无用的(恕我直言)…这又带来了一个问题:
为什么java不支持构造函数继承?不允许这种继承有什么好处吗?