6
votes

La méthode de comparaisse abstraite ne pas être annulée

Lors de la compilation du code ci-dessous, je reçois l'erreur suivante:

PersonalInformation n'est pas abstrait et ne remplace pas Résumé Méthode comparète (objet) en comparable p> BlockQuote>

Je suppose que cela signifie que j'ai un problème avec mon comparèteo code> méthode. Mais tout semble être bien. Quelqu'un a une suggestion? P>

import java.util.*;
public class PersonalInformation implements Comparable
{
private String givenName;
private String middleInitial;
private String surname;
private String gender;
private String emailAddress;
private String nationalId;
private String telephoneNum;
private String birthday;

public PersonalInformation(String gN, String mI, 
        String sur, String gen, String eMa, String natId,
        String teleNum, String birthd)

{
        givenName = gN;
        middleInitial = mI;
        surname = sur;
        gender = gen;
        emailAddress = eMa;
        nationalId = natId;
        telephoneNum = teleNum;
        birthday = birthd;


}


public int compareTo(PersonalInformation pi)
{
 return (this.gender).compareTo(pi.gender);
}

}


0 commentaires

3 Réponses :


6
votes

Voir la réponse de Juergen D, beaucoup mieux.

Vous surchargez la méthode: xxx

au lieu de le remplacer: xxx < / Pré>

Cela pourrait être quelque chose comme: xxx


1 commentaires

Je pense que cela s'appelle la surcharge, ne pas remplacer.



20
votes

fais cela: xxx

ou meilleur xxx

si vous implémentez l'interface comparable que vous devez Implémentez-le soit pour tous les objets à l'aide de la première méthode ou tapez votre classe la deuxième manière.


0 commentaires

6
votes

Vous devez implémenter comparable plutôt que comparable pour votre classe à compiler et à travailler.

Si vous mettez en œuvre comparable, la signature de la méthode attendue est comparèteo (objet O) qui manque dans votre classe et donc l'erreur.


0 commentaires