~Java4Beginners~
~Java4Beginners~

Klassen

Sehen wir uns den grundsätzlichen Klassenaufbau an.
Wenn wir eine neue Klasse erstellen, gibt uns die Entwicklungsumgebung eine Standardklasse aus. Diese kann je nach Einstellungen variieren und somit bei jedem etwas anders ausschauen

Annotation

Mit der Sprachversion Java 5 wurden Annotationen als ein eigenes Sprachelement geschaffen. Annotationen werden im Quelltext durch ein @-Zeichen gefolgt vom Namen der Annotation gekennzeichnet. Zusätzlich ist es auch möglich, Annotationen Parameter zu übergeben. Außerdem können den vorgegebenen Annotationen auch eigene hinzugefügt werden. Annotationen können mittels des Annotation Processing Toolkits (APT) direkt im Quelltext oder mittels Reflexion zur Laufzeit eines Programms ausgewertet werden. Unter anderem dadurch entstehen weitere Einsatzmöglichkeiten im Vergleich zu Javadoc. So wertet beispielsweise der Compiler selbst einige Annotationen aus.

Blockschweifklammern

Als erste Amtshandlung setze ich vor der öffnenden Blockklammer nach dem Klassennamen einen Zeilenumbruch, um die Blockklammern für die Klasse direkt untereinander zu haben.
Um die Übersichtlichkeit zu wahren, sollten die geschweiften Blocklammern immer untereinander auf Höhe des Blockes (Klasse, Methode, Kontrollstruktur, etc.) stehen, wohin sie gehören. Zumindest die schließende geschweifte Blocklammer sollte nach dieser Konvention verwendet werden.
Nach der Klassendeklaration werden die Instanzvariablen deklariert und evtl. auch initalisiert. Instanzvariablen haben den Zugriffsmodifizierer private, da diese ausschließlich über die Schnittstellen (Verbindungspunkte zwischen 2 Klassen) geändert werden können sollten. Es ist später auch möglich Klassenvariablen oder statische Variablen hier zu deklarieren.

/**
 * Grundlegender Klassenaufbau
 * @author Markus Badzura
 */
public class Klassenaufbau 
{
    /**
     * Bereich für Instanzvariablen
     */
    private int zahl = 0;
    
Nachdem wir unsere Instanzvariablen gesetzt haben, beschäftigen wir uns mit den Konstruktoren. Diese sind für die Objektbildung zuständig und können verschiedene Parameter besitzen.

    /**
     * Bereich für die Konstruktoren
     */
    
    /**
     * öffentlicher Konstruktor ohne Parameter
     */
    public Klassenaufbau(){}
    /**
     * Konstruktor mit Parameter, welcher nur innerhalb des packages sichtbar ist.
     * @param zahl1 Übergabe einer int-Zahl
     */
    Klassenaufbau(int zahl1)
    {
        zahl = zahl1;
    }
Es wurde kurz das Thema Schnittstellen angesprochen. Dieses sind sichtbare Methoden, die entweder einen Wert erwarten (getter) oder einen Wert aus dem Objekt zurückgeben (setter).

    /**
     * Setter- und Getter-Methoden
     * @param zahl intZahl wird erwartet
     */
    public void setZahl(int zahl)
    {
        this.zahl = zahl;
    }
    public int getZahl()
    {
        return zahl;
    }

Methode toString()

Als nächstes im grundsätzlichen Klassenaufbau kommt die Methode toString(). Die Methode toString ist in java.lang.Object hinterlegt und ist somit für sämtlich erstellte Klassen vorhanden und liefert eine String-Repräsentation des Objekts aus Klassenname und Hash-Wert. Dieses ist in den seltensten Fällen aussagekräftig. Deshalb wird in den Klassen die toString()-Methode überladen, d. h. überschrieben. Der Sinn besteht darin, dass bei z. B. Konsolenausgabe des Projektes mittels System.out.print() nicht der Hash-Wert, sondern ein lesbarer Wert der Objektwerte erfolgen soll.

    /**
     * toString()-Methode
     * @return Textausgabe des Objektwertes zahl
     */
    @Override
    public String toString() {
        return "Die Zahl lautet: "+zahl;
    }
Nun folgen die ganzen Methoden, die für die Arbeit innerhalb der Klasse (oder auch ausserhalb) notwendig sind.

Zusammenfassung

Sehen Sie hier noch den kompletten Quellcode für den Grundlegenden Aufbau einer Klasse.

package ErsteSchritte;

/**
 * Grundlegender Klassenaufbau
 * @author Markus Badzura
 */
public class Klassenaufbau 
{
    /**
     * Bereich für Instanzvariablen
     */
    private int zahl = 0;
    
    /**
     * Bereich für die Konstruktoren
     */
    
    /**
     * öffentlicher Konstruktor ohne Parameter
     */
    public Klassenaufbau(){}
    /**
     * Konstruktor mit Parameter, welcher nur innerhalb des packages sichtbar ist.
     * @param zahl1 Übergabe einer int-Zahl
     */
    Klassenaufbau(int zahl1)
    {
        zahl = zahl1;
    }
    
    /**
     * Setter- und Getter-Methoden
     * @param zahl intZahl wird erwartet
     */
    public void setZahl(int zahl)
    {
        this.zahl = zahl;
    }
    public int getZahl()
    {
        return zahl;
    }

    /**
     * toString()-Methode
     * @return Textausgabe des Objektwertes zahl
     */
    @Override
    public String toString() {
        return "Die Zahl lautet: "+zahl;
    }
    
    /**
     * Weitere Methoden
     */
}
nach oben Java4Beginners -- Seitenversion 1.0 -- Stand: 2017-05-06