Bauplan und Exemplar
- Klasse:Bauplan für gleichartige Dinge — legt fest, welche Attribute (Eigenschaften) und Methoden (Fähigkeiten) jedes Exemplar hat.
- Objekt:ein Exemplar, das nach dem Bauplan gebaut wurde — mit eigenen Attributwerten.
- Beispiel:Klasse
Haustiermitname,alter,mahlzeitenund den Methodenfuettern(),geburtstag(). - Objektkarte:oben unterstrichen
bello: Haustier(Objektname: Klasse), darunter die aktuellen Werte. - Wie in Python:auch dort gibt es
class— in Java steht sogar jedes Programm in einer Klasse.
- name = "Bello"
- alter = 3
- mahlzeiten = 0
- name = "Mia"
- alter = 5
- mahlzeiten = 2
Gleicher Bauplan, gleiche Attribute — aber jedes Objekt hat seine eigenen Werte.
Objekte erzeugen und benutzen
- Typ und Name:links steht die Klasse als Datentyp, dann der Variablenname:
Haustier bello. - new:erzeugt ein neues Objekt im Speicher.
- Konstruktor:
Haustier("Bello", 3)setzt die Startwerte — Anzahl, Reihenfolge und Typen wie in der Klasse festgelegt. - Verweis:die Variable enthält nicht das Objekt selbst, sondern einen Verweis (Pfeil) darauf.
- Methodenaufruf:
bello.fuettern();— Objekt, Punkt, Methode. Nurbelloändert sich,miableibt, wie sie ist.
public class Haustier {
private String name;
private int alter;
private int mahlzeiten;
public Haustier(String name, int alter) {
this.name = name;
this.alter = alter;
}
public void fuettern() {
mahlzeiten = mahlzeiten + 1;
}
public void geburtstag() {
alter = alter + 1;
}
}
Herleitung:
bello = Haustier("Bello", 3)Haustier bello = Haustier("Bello", 3)Haustier bello = new Haustier("Bello", 3)new fordert Speicher für ein neues Objekt an und ruft den Konstruktor auf.Haustier bello = new Haustier("Bello", 3);Baue in der Objektfabrik eine new-Anweisung: Ziehe die Bausteine in die Lücken — oder tippe erst eine Lücke und dann einen Baustein an (Tastatur: Pfeil hoch/runter in einer Lücke). „Erzeugen“ übersetzt die Zeile wie javac. Klappt es, entsteht das Objekt im Speicher; wähle es an und rufe Methoden auf.
Neue Zeile in main
Konstruktor der Klasse: Haustier(String name, int alter)
$ javac Main.java
Halte fest: Ein Objekt entsteht nur mit new und passenden Werten für den Konstruktor. Jede Variable verweist auf ihr Objekt — ein Methodenaufruf ändert nur dieses eine Objekt.
Objekt erzeugen und benutzen: Klasse name = new Klasse(Werte); — danach name.methode();
Allgemeine Hinweise
new nicht vergessen
Ohne new sucht Java eine Methode namens Haustier — und meldet cannot find symbol.
Groß und klein
Klassen beginnen mit einem Großbuchstaben (Haustier), Variablen mit einem kleinen (bello). haustier ist für Java ein ganz anderer Name.
Variablenname ≠ Attribut name
In Haustier rex = new Haustier("Mia", 1); heißt die Variable rex, das Attribut name aber „Mia“. Wähle beides passend.
