Java Generics estende o parâmetro de classe

Recebi um erro e tenho essa estrutura no meu programa

public interface Shapes<T>{
//methods here
}

public class ShapeAction<T> implements Shapes<T>{
//Methods and implementations here
}

public class Circle extends ShapeAction<T>{
//Some methods here
}

O erro está apontando para a classe Circle estende Shapes <T> onde diz "T não pode ser resolvido para um tipo". Se eu definir T como string, o erro desaparecerá, mas isso também significa que só posso usar um tipo de dados. O que devo colocar dentro do <> para que eu possa usar qualquer tipo de dados (String, int, double etc) ou eu fiz isso da maneira errada?

questionAnswers(3)

yourAnswerToTheQuestion