Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > наследование от generic? Возможно ли?


Автор: unkis 30.12.2009, 15:35
Ребята, можно ли как-то реализовать наследование от generic.

к примеру есть базовый класс Base

Код

public class Base<T> extends T {
.....
.....
}


и вот такие вот наследники этого класса

Код

public class Sub1 extends Base<JFrame> {
.....
.....
}

public class Sub2 extends Base<JButton> {
.....
.....
}



тоесть в первом случаи класс Base унаследует от JFrame, а во втором от JButton

Как такое реализовать и возможно ли вообще такое?


Автор: LSD 30.12.2009, 16:38
Цитата(unkis @  30.12.2009,  15:35 Найти цитируемый пост)
Как такое реализовать и возможно ли вообще такое?

Никак. Иерархию наследования так менять нельзя, она статична.

Автор: ivanovpv 30.12.2009, 17:11
Базовый класс невозможно так объявить, шаблон как и любой класс не может наследоваться от неизвестного типа. Шаблон может обертываться вокруг неизвестного типа, например:
Код

public class Base<T> {
private T t;

public Base(T t) {
     this.t=t;
}
.....
}


А уже далее вполне себе уже нормально можно унаследовать от него все что хотите:
Код

public class Sub1 extends Base<JFrame> {
.....
.....
}
public class Sub2 extends Base<JButton> {
.....
.....
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)