Biesterfeld: OOP, wozu? (Fragen zu Java/Classen etc.)

Beitrag lesen

Hej,

Aber eine frage habe ich da noch.
Die Klasse "Auto" hat ja einige Variablen wie z.B "alter", darf ich die Variable auch in der Instanz nutzen (wenn ich es brauche) ohne das ein konflikt auftreten kann, sprich darf ich die Variable "alter" nutzen ohne das es probleme mit der Klasse "Auto" gibt?

Wenn die Felder einer Klasse nicht als static gekennzeichnet sind, gehören sie den Objekten. (Vergleiche Objektvariable vs. Klassenvariable). Das rumschrauben an einer Objektvariable eines Objektes, betrifft nicht die Objektvariable eines anderen Objektes der gleichen Klasse. Zumindest solange die Objektvariablen nicht auf die gleiche Referenz zeigen. Also:

  
public class Klasse {  
  static int i = 0;  
         int j = 0;  
}  
  
public Tester {  
  public static void main( String[] args) {  
    Klasse k1 = new Klasse();  
    k1.i++;  // Warnung: auf Klasse.i sollte statisch zugegriffen werden  
    k1.j++;  
  
    System.out.println( "k1: "+ k1.i +" "+ k1.j ); // Ausgabe: k1 1 1  
  
    Klasse k2 = new Klasse();  
    k2.i++;  // Warnung: auf Klasse.i sollte statisch zugegriffen werden  
    k2.j++;  
  
    System.out.println( "k2: "+ k2.i +" "+ k2.j ); // Ausgabe: k2 2 1  
  
    System.out.println( "k1: "+ k1.i +" "+ k1.j ); // Ausgabe: k1 2 1  
  }  
}  

Wie kann ich Variablen in meiner Klasse "verstecken"?

Mit dem Schlüsselwort private.

Also das man dort nicht zugreifen kann - neueklasse.variable=wert - sonder diese schon einen wert hat der nicht überschreibbar ist?

Mit dem Schlüsselwert final und dem Überschreiben des Standardkonstruktors.

Habe es mit "private" versucht, ich kanbn trotzem einen Wert speichern -mit der Instanz/Objekt-.

Versteh ich nicht.

Beste Grüße
Biesterfeld

--
Art.1: Et es wie et es
Art.2: Et kütt wie et kütt
Art.3: Et hätt noch immer jot jejange
Das Kölsche Grundgesetz