Hi,
habe im GotoJava Buch ein Beispiel für die verwendung von private für Variablen gefunden:
Allerdings funktioniert dies auch wenn die Methode setOtherA folgendermaßen definiert ist:
Aufruf:
Imho ist das Original Beispiel unnötig komplex (eigener Typ), die Variable wird doch auch mit der neuen setOtherA Methode nicht von aussen sondern von einem Objekt der eigenen Klasse verändert?
habe im GotoJava Buch ein Beispiel für die verwendung von private für Variablen gefunden:
Code:
/* Listing0806.java */
public class Sichtbarkeit
{
public static void main(String[] args)
{
ClassWithPrivateA a1 = new ClassWithPrivateA(7);
ClassWithPrivateA a2 = new ClassWithPrivateA(11);
a2.setOtherA(a1, 999);
System.out.println("a1 = " + a1.toString());
System.out.println("a2 = " + a2.toString());
}
}
class ClassWithPrivateA
{
private int a;
public ClassWithPrivateA(int a)
{
this.a = a;
}
public void setOtherA(ClassWithPrivateA other, int newvalue)
{
other.a = newvalue;
}
public String toString()
{
return "" + a;
}
}
Allerdings funktioniert dies auch wenn die Methode setOtherA folgendermaßen definiert ist:
Code:
public void setOtherA(int newvalue)
{
this.a=newvalue;
}
Aufruf:
Code:
a2.setOtherA(123);
Imho ist das Original Beispiel unnötig komplex (eigener Typ), die Variable wird doch auch mit der neuen setOtherA Methode nicht von aussen sondern von einem Objekt der eigenen Klasse verändert?