public abstract class Parent { abstract void method(S t); } class Child extends Parent { @Override void method(T t){} }