Java générique de la méthode de l'héritage et de remplacer les règles

J'ai une classe abstraite qui a une méthode générique et je veux remplacer le générique de la méthode par substitution des types spécifiques pour le paramètre générique. Donc, en pseudo-code que j'ai est la suivante:

public abstract class GetAndParse {
  public SomeClass var;

  public abstract <T extends AnotherClass> void getAndParse(T... args);
}

public class Implementor extends GetAndParse {
  //some field declarations

  //some method declarations

  @Override
  public <SpecificClass> void getAndParse(SpecificClass... args) {
    //method body making use of args
  }
}

Mais pour une raison que je ne suis pas autorisé à le faire? Ai-je fait une sorte d'erreur de syntaxe ou est ce genre d'héritage et impérieuses pas permis? Clairement, j'obtiens une erreur à propos de @Override parce que l'IDE eclipse rappelle sans cesse à moi pour mettre en œuvre getAndParse.

Voici comment je veux le code ci-dessus fonctionne. Quelque part dans mon code il y a une méthode qui s'attend à des instances d'objets qui implémentent GetAndParse qui signifie qu'ils ont un getAndParse méthode que je peux utiliser. Quand je l'appelle getAndParse sur cet exemple, le compilateur vérifie pour voir si j'ai utilisé des instances spécifiques de T de la bonne façon, donc en particulier T devrait s'étendre AnotherClass et il devrait être SpecificClass.

  • le pseudo-code est trop abstrait, besoin de plus d'info
  • À l'aide de public abstract <T extends AnotherClass> void getAndParse(Args... args); n'a pas de sens. Quel est le type de paramètre bon? Comment le compilateur de déterminer sa valeur réelle et où faut-il l'utiliser?
  • Pourriez-vous nous faire un exemple complet, qui est en fait compilable (en dehors de la problématique de l'erreur) et produit l'erreur que vous avez mentionné?
  • Vous avez raison, j'ai changé les méthodes pour rendre l'utilisation spécifique du type générique.
InformationsquelleAutor davidk01 | 2011-03-18