Существует три класса: ChildChild
, Child
и Parent
один расширяющийся другой. Я вызываю метод с использованием шаблона для большинства внешних классов, и я хотел бы получить метод doSomething
, который вызывается для печати «CHILD». Вместо этого вызван предыдущий метод.Переадресованный метод вызова с использованием шаблона
class Test {
public <T extends Parent> void doSomething(T input) {
System.out.println("PARENT");
}
public <T extends Child> void doSomething(T input) {
System.out.println("CHILD");
}
public <T extends Parent> void run(T input) { doSomething(input); }
}
class Main {
public static void main(String[] args) {
Test t = new Test();
t.run(new ChildChild());
}
}
Это из-за метода запуска определения шаблона только для родительского класса?