Мне было интересно, почему в 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 и бесполезен (IMHO)... так что он снова задает вопрос:
Почему Java не поддерживает наследование конструктора? Есть ли какая-либо польза в том, что вы не разрешаете это наследование?