Ich habe ein Problem damit zu verstehen, wie die folgenden Methoden funktionieren. Ich habe Klasse Calc und Methode für die Multiplikation, erste Methode verwenden typische Getter, zweite Methode kann direkt auf private Attribut mit Typ Konvertierung zugreifen. Meine Frage ist, wie es möglich ist, dass Nummer1 Zugriff auf private Attribut Nummer2 haben.Java-Zugriff auf Member mit Typkonvertierung
private int number;
public Calc multiplication(Calc z)
{
return new Calc(this.number*z.getNumber());
}
public Calc multiplication(Calc z)
{
return new Calc(this.number*((Calc)z).number);
}
test()
{
number1 = new Calc(2);
number2 = new Calc(3);
number1.multiplication(number2);
}
So funktioniert Access Modifiers in Java. Sie sind nicht die erste Person, die kommentiert, dass dies wohl ein bisschen seltsam ist. Übrigens müssen Sie 'z' nicht auf' Calc' anwenden - es ist bereits 'Calc'. –
z ist bereits ein Calc warum Verwendung von Typ als ((Calc) z) gegossen? –
Ich rufe Shenanigans, das kann nicht mit zwei Methoden mit genau der gleichen Signatur wie das kompilieren. –