öffentlichen Variable verwenden kann Einstellung falsche Werte an die Variable bewirken, da der Eingangswert nicht geprüft werden kann .
zB:
public class A{
public int x; // Value can be directly assigned to x without checking.
}
Setter verwenden können die Variable mit Überprüfung der Eingangs eingestellt werden. die Instanz zu halten Varibale private und Getter und Setter Öffentlichkeit ist eine Form von Encapsulation Getter und Setter ist auch kompatibel mit Java Beans Standard,
Getter und Setter auch helfen in Polymorphismus Konzept Umsetzung
zB:
public class A{
private int x; //
public void setX(int x){
if (x>0){ // Checking of Value
this.x = x;
}
else{
System.out.println("Input invalid");
}
}
public int getX(){
return this.x;
}
Polymorphe Beispiel: Wir ASSIG können n Object Reference Variable des Subtyps als Argument vom Aufruf der Methode zur Object Reference-Variablen des Super Class-Parameters der Called-Methode.
public class Animal{
public void setSound(Animal a) {
if (a instanceof Dog) { // Checking animal type
System.out.println("Bark");
}
else if (a instanceof Cat) { // Checking animal type
System.out.println("Meowww");
}
}
}
mögliche Duplikate von [Warum Getter und Setter verwenden?] (Http://StackOverflow.com/questions/1568091/why-use-getters-and-setters) und [Auto-implementierte Getter und Setter vs. öffentliche Felder] (http://stackoverflow.com/questions/111461) –