public interface A<T> extends Runnable {}
public abstract class AbstarctA<T extends Parent> implements A<T> {}
public class B extends AbstarctA<Subject> {}Class Subject extends Parent{}