Hinweis: Die hier stehenden Inhalte sind teils vereinfacht formuliert. Für die exakte Formulierung ist es ratsam sich die Java-Dokumentation anzuschauen. Letztendlich ist nur die jeweilige Definition der Vorlesung gültig, diese kann abweichen.
Inhalt:
- Konstruktoren
- Attribute
- Sichtbarkeit
- Methoden
- Main-Methode
- Iterator vs. Enumeration
- Beispielprogramme
Konstruktoren |
zurück zum Inhalt |
Konstruktoren werden genauso geschrieben wie der Klassenname. So beginnen sie mit einem Großbuchstaben.
Beispiel Konstruktor:
// Konstruktor
public Brief(){
// Eigene Klasse (Objekt Adresse)
Adresse absender = new Adresse();
Adresse empfaenger = new Adresse();
String betreff;
Date datum;
// Anrede wird von vornerein belegt
String anrede = "Sehr geehrte Damen und Herren,\n\n";
String text;
String grussformel;
}
Das Objekt kann auch mit einem ähnlichen Konstruktor erzeugt werden, der bereits bestimmte Eigenschaften mitliefert. Das bedeutet das Objekt bekommt Parameter übergeben.
Beispiel Konstruktor mit Parametern:
public Brief(Adresse abs, Adresse emp, String betr, Date dat, String anred, String txt, String gFormel){
// Eigene Klasse (Objekt Adresse)
Adresse absender = abs;
Adresse empfaenger = emp;
String betreff = betr;
Date datum = dat;
String anrede = anred;
String text = txt;
String grussformel = gFormel;
}
Die Deklaration erfolgt nun noch im Konstruktor, das ist nicht unbedingt gewünscht, da nun bei jedem erzeugen auch ein neues Objekt nur innerhalb des Konstruktors erstellt wird. Besser wäre es sog. Attribute zur Hilfe zu nehmen.
Beispiel Konstruktor mit Parametern und Attributen:
//Attribute
private Adresse absender;
private Adresse empfaenger;
private String betreff;
private Date datum;
private String anrede;
private String text;
private String grussformel;
// Konstruktor
public Brief(Adresse abs, Adresse emp, String betr, Date dat, String anred, String txt, String gFormel){
absender = abs;
empfaenger = emp;
betreff = betr;
datum = dat;
anrede = anred;
text = txt;
grussformel = gFormel;
}
Auf die Attribute wird dann mit sog. getter- und setter-Methoden zugegriffen.
Attribute |
zurück zum Inhalt |
Attribute besitzen immer die Signatur in der Form:
- Sichtbarkeit
- Datentyp
- Bezeichner
Die Sichtbarkeit ist i.d.R. eines von nachfolgenden dreien:
- public
- protected
- private
Danach kommt der Datentyp, z. B. String, int, Double, boolean
Der Bezeichner (Name des Attributes) wird klein geschrieben.
Beispiel für Attribute:
private String name;
public String name2;
protected int zaehler;
Sichtbarkeit |
zurück zum Inhalt |
Die Sichtbarkeit wird durch einen Modifier verändert. Die Modifier public und private werden in den hier gezeigten Beispielen besonders häufig benutzt. Sie haben dabei Einfluss auf die Lebensdauer, Sichtbarkeit und Veränderbarkeit.[1]
Sichtbarkeit | In der Klasse selbst | In Methoden abgeleiteter Klassen | Klassen des selben Pakets (innerhalb des Pakets) | Für den Aufrufer von Instanzen der Klasse |
public | Ja | Ja | Ja | Ja |
protected | Ja | Ja | Ja | Nein |
package scoped auch Standard-Sichtbarkeit genannt (ohne Modifier deklariert) |
Ja | Nein | Ja | Nein |
private | Ja | Nein | Nein | Nein |
Methoden |
zurück zum Inhalt |
Eine m.E. sehr treffende Definition einer Signatur von einer Methode ist die folgende:
Beispiel get-Methode:
Wird die nachfolgende Methode aufgerufen, so erhält man einen String zurück, der "Ein Text" enthält.
Hinweis: Der aufruf der Methode erfolgt mit:
getText();
public String getText(){
return "Ein Text";
}
Beispiel set-Methode:
Hinweis: Das Attribut "private String text;" soll eine Methode bekommen, die es ermöglicht den Inhalt zu ändern. Das bedeutet, wir "setzen" (weisen) einen neuen Wert der Variablen zu. Das Attribut steht in der gleichen Klasse wie die Methode, welche diesem einen neuen Wert zuweist.
public void setText(String text){
this.text = text;
}
// Alternative Methode ohne this-Operator
public void setText(String t){
text = t;
}
Main-Methode |
zurück zum Inhalt |
Die Methode main sollte in maximal einer Klasse auftauchen. Sie dient als einstieg ins Programm, von ihr werden die weiteren Programmteile gestartet.
Beispiel main-Methode:
public static void main(String[] args){
...
}
Iterator vs. Enumeration |
zurück zum Inhalt |
Ein Enumerator hängt Elemente aneinander und ist so eine Art Datenstrom. Im Vergleich zu einem Array kann bei der Enumeration oder beim Iterator nicht vor- und zurückgesprungen werden.
Methoden der Enumeration
- hasMoreElements() liefert true oder false
- nextElement() liefert das Objekt zurück
Methoden des Iterator
- hastNext() liefert true oder false
- next() liefert das Objekt zurück
- remove() löscht das Objekt; es besitzt keinen Rückgabewert
Beispielprogramme |
zurück zum Inhalt |
Einige Hello World Programmierbeispiele:
Literatur
[1] | K. Guido (2001): GOTO Java 2 - Handbuch der Java-Programmierung, 2. Aufl., 4. Nachdruck, Addisson-Wesley, München |
[2] | P. Niemeyer, J. Peck (1997): Exploring Java, 2nd Edition, O'Reilly Media |