У меня есть простой три класса:Как пропустить один уровень в наследовании, вызывающем супер от дедушки и бабушки в java?
class A {
public A(int a){ }
}
class B extends A {
public B(int b){ super(b); }
}
class C extends B {
public C(int c){ super(c); }
}
Таким образом, порядок исполнения во время класса инстансов является C-> B-> A-> B-> C и все объекты правильно инстанцированы. Тогда вопрос:
МОГУ Я в некотором роде написать конструктор для класса C, как это:
public C(int c){
super.super(c);
}
Идея заключается в том, чтобы вызвать конструктор из класса, а не от непосредственного родителя B. Возможно ли это ?
Ну, здесь нет методов переопределения, поэтому просто вызывайте 'A (c)'. (Я предполагаю, что это опечатка, хотя, пожалуйста, исправьте свой код, чтобы на самом деле проиллюстрировать вашу проблему). –
Код даже не компилируется на данный момент, потому что вы не объявляете конструкторы - вы объявляете методы с именами такими же, как классы. –
Я предполагаю, что это конструктор. Возможно, OP может подумать о своей архитектуре. – Jeremy