Hallo Dirk!
Fangen wir mal ganz vorne an: Eine Klasse hat Attribute und Methoden. Dabei kann eine Methode natürlich auch wieder Variablen haben - das sind dann meist die Variablen, die Du nie zu Gesicht bekommst, weil sie nur in dieser Methode vorkommen und nicht als Attribut gelten (das Wort Attribut wurde nicht umsonst gewählt). Dagegen sind Klassen-Attribute meist schon sehr viel wichtiger. Ein Beispiel:
Es gibt die Klasse Auge die ein Attribut „farbe“ hat und ein final static Attribut int für den Druck im Auge hat (angenommen 1 für normal) und einen, für den gerade aktuellen Druck im Auge. (Über die Sinnhaftigkeit einer solchen Implementation lässt sich natürlich streiten - aber darum geht es hier ja nicht).
Diese würde dann z.B. so aussehen:
public class Auge
{
private String farbe;
final static float solldruck = "1";
private float aktuellerdruck;
}
Jetzt willst Du entsprechende Methoden definieren:
getAugenfarbe() um die Augenfarbe zu erhalten und natürlich auch
getDruck() um den Druck zu erhalten, der beim Auge normalerweise da ist und natürlich auch getAktuellerDruck() um zu erfahren, wie der gerade aktuelle Druck im Auge ist.
Also sieht das ganze jetzt so aus:
public class Auge
{
private String farbe;
final static float solldruck = "1";
private float aktuellerdruck;
public String getFarbe()
{
return farbe;
}
public int getDruck()
{
return solldruck;
}
public float aktuellerDruck()
{
retun aktuellerdruck;
}
}
Jetzt noch kurz entsrechende Konstruktoren eingebaut…
public class Auge
{
private String farbe;
final static float solldruck = "1";
private float aktuellerdruck;
public Auge()
{
this.farbe = "keine"; //wie gesagt: Über Sinn und Unsinn lässt sich streiten
this.aktuellerdruck = "0";
}
public Auge(String farbe, float aktuellerDruck)
{
this.farbe = farbe;
this.aktuellerdruck = druck;
}
public String getFarbe()
{
return farbe;
}
public int getDruck()
{
return solldruck;
}
public float aktuellerDruck()
{
retun aktuellerdruck;
}
}
Ich denke mal, dass jetzt relativ schnell klar wird, dass wenn Du Dir nicht die ganzen Attribute anschaust Du sonst keine Ahnung hast, wann z.B. farbe gesetzt wurde und was da genau zurückgeliefert wird. Schlimmer ist der Sachverhalt natürlich in etwas komplexeren Umgebungen wo dann z.B. auch noch etwas mit oder an den Attribute geändert wird um es Dir dann zu liefern. Da hast Du dann spätestens keine Ahnung mehr, wie Du es zu benutzen hast, wenn Du nicht zuerst einen Blick auf die entsprechenden Attribute geworfen hast.
Natürlich brauchst Du das nicht, wenn der Code entsprechend gut dokumentiert wurde (JavaDoc sei Dank!). Aber wenn Du mit mehreren Leuten an ein und dem selben Projekt sitzt wird so etwas ganz schnell unverständlich - und das kostet Zeit und Nerven. Beides sind Faktoren von denen meist nicht unendlich viel vorhanden sind. Also wenn Du es schon nicht aus Eigeninteresse so tun willst, dann richte Dich doch zumindest aus sozialen Gründen danach - später wirst Du vielleicht doch einmal genau das gleiche Problem haben und dann wärst Du froh wenn derjenige die Dokumentation entsprechend gelesen hätte um diese Coding Conventions einzuhalten.
Gruss
Hannes
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]