J'essaie le test Jacco et je suis capable de tester le getStudentId d'une classe appelée Student qui a:

public String getStudentId() {
    return studentId;
}

Lorsque j'essaye de tester mon autre classe nommée Product, j'obtiens une erreur - la seule différence entre les deux réside dans la méthode getX. La getName méthode de Product est:

public String getName() {
    return this.name;
}

Et le message d'erreur dit:

constructeur Le produit de la classe Le produit ne peut pas être appliqué à des types donnés

0
Harry Kashyap 21 juil. 2017 à 23:31

2 réponses

Lorsque vous utilisez this.name, vous utilisez un attribut défini dans votre classe, le nom de l'attribut. Cependant, lorsque vous n'utilisez que nom, il peut s'agir de n'importe quelle variable appelée ainsi dans votre code, même l'attribut. Exemple:

   public String getName(){
    String name = "Mery";
    this.name = "Jacob";
    return name;
   }

Cette méthode renvoie la valeur "Mery". Si vous mettez return this.name alors vous retournez la valeur "Jacob".

1
Mrs. Sally 21 juil. 2017 à 20:57

Il est possible que vous définissiez studentID sur une variable publique. Chaque fois que vous utilisez this.wwhat pour renvoyer une variable à partir d'une fonction getX, le this. implique que c'est une variable privée. Il est plus probable qu'improbable que le StudentID soit public et c'est pourquoi vous vous êtes échappé sans «ceci». devant lui.

0
Jeff 21 juil. 2017 à 20:38