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{
}
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{
}