2017-02-18 3 views
-2

Je cherche donc une clarification. J'ai une méthode equals qui est capable de retourner la variable d'instance par cv.ch d'un objet passé avec une méthode pour le renvoyer. Comment est-ce ainsi?Compréhension pour renvoyer une variable d'instance sans méthode pour la renvoyer

public static class Test { 
    private int v; 

    private char ch; 

    public Test(int v, char ch) { 

     this.v= v; 

     this.ch= ch; 

    } 

    public boolean equals(Object o) { 
     if (this == o) return true; 
     if (o == null || this.getClass() != o.getClass()) 
      return false; 
     Test cv = (Test) o; 
     if (this.v == cv.v && this.ch == cv.ch) 
      return true; 
     return false; 

    } 

} 

Edit: Je reformule ma question afin qu'il soit mieux comprise

+0

* "Je pensais que vous avez toujours besoin d'une méthode pour retourner les variables d'instance?" * - C'est incorrect. –

Répondre

0

Les variables membres privées sont accessibles à la classe qui les possède, Test. Tout code en test peut accéder à ces champs, qu'il le fasse via "this" ou une autre variable. Plus précisément, le JLS indique «[L] e membre ou le constructeur est déclaré privé, alors l'accès est autorisé si et seulement s'il se produit dans le corps de la classe de premier niveau (§7.6) qui contient la déclaration du membre ou constructeur. "