Java-Klasse oder -Typ erstellen

Mit dem Dialogfeld Neue Klasse erstellen und Dateivorlagen können Sie in Android Studio schnell die folgenden neuen Klassen und Typen erstellen:

  • Java-Klassen
  • Enumerations- und Singleton-Klassen
  • Schnittstellen- und Annotationstypen

Nachdem Sie die Felder im Dialogfeld Neue Klasse erstellen ausgefüllt und auf OK geklickt haben, erstellt Android Studio eine .java Datei mit Skelettcode, einschließlich einer Paketdeklaration, aller erforderlichen Importe, eines Headers und einer Klassen- oder Typdeklaration. Anschließend können Sie dieser Datei Ihren Code hinzufügen.

In Dateivorlagen wird festgelegt, wie Android Studio den Skelettcode generiert. Sie können die in Android Studio bereitgestellten Dateivorlagen unverändert verwenden oder sie an Ihren Entwicklungsprozess anpassen.

Dateivorlagen ansehen und anpassen

Android Studio bietet Dateivorlagen, die festlegen, wie neue Java-Klassen und ‑Typen mit dem Dialogfeld Neue Klasse erstellen erstellt werden. Sie können diese Vorlagen anpassen.

Das Dialogfeld „Neuen Kurs erstellen“

Abbildung 1. Das Dialogfeld Neue Klasse erstellen.

Die Android Studio-Dateivorlagen enthalten Velocity Template Language (VTL)-Code und Variablen, mit denen diese zusätzlichen Optionen verarbeitet werden. Im Dialogfeld Neue Klasse erstellen werden die Dateivorlagen AnnotationType, Class, Enum, Interface und Singleton verwendet.

So rufen Sie die Vorlagen auf, suchen nach Anpassungen und ändern die Vorlagen:

  1. Führen Sie einen der folgenden Schritte aus:

    • Wählen Sie unter Windows oder Linux File > Settings > Editor > File and Code Templates > Files aus.
    • Wählen Sie unter macOS Android Studio > Preferences > Editor > File and Code Templates > Files aus.

    In der Vorlagenliste, interne Vorlagennamen sind fett formatiert. Benutzerdefinierte Vorlagennamen werden in einer Hervorhebungsfarbe wie Blau angezeigt.

  2. Passen Sie die Dateivorlagen nach Bedarf an.

    Wenn Sie die Felder im Dialogfeld Neue Klasse erstellen verwenden möchten, müssen Ihre Änderungen dem Android Studio-Dateivorlagencode entsprechen.

Weitere Informationen zu Dateivorlagen, einschließlich VTL, finden Sie unter Dateivorlagen und Codedateivorlagen und Dialogfeld „Dateivorlagen und Codedateivorlagen“.

Java-Klasse oder ‑Typ erstellen

Mit Android Studio können Sie neue Java-Klassen, Enumerations- und Singleton Klassen sowie Schnittstellen- und Annotationstypen basierend auf Dateivorlagen erstellen.

So erstellen Sie eine neue Java-Klasse oder einen neuen Java-Typ:

  1. Klicken Sie im Fenster Project mit der rechten Maustaste auf eine Java-Datei oder einen Java-Ordner und wählen Sie New > Java Class aus.
  2. Alternativ können Sie im Fenster Project eine Java-Datei oder einen Java-Ordner auswählen oder im Code-Editor auf eine Java-Datei klicken. Wählen Sie dann File > New > Java Class aus.

    Das ausgewählte Element bestimmt das Standardpaket für die neue Klasse oder den neuen Typ.

  3. Füllen Sie im Dialogfeld Neue Klasse erstellen die Felder aus:
    • Name : Der Name der neuen Klasse oder des neuen Typs. Er muss den Java-Namensanforderungen entsprechen. Geben Sie keine Dateinamenerweiterung ein.
    • Kind : Wählen Sie die Kategorie der Klasse oder des Typs aus.
    • Superclass : Die Klasse, von der Ihre neue Klasse erbt. Sie können den Paket- und Klassennamen eingeben oder nur den Klassennamen und dann doppelt auf ein Element in der Drop-down-Liste klicken, um ihn automatisch zu vervollständigen.
    • Interface(s) : Eine oder mehrere Schnittstellen, die von der neuen Klasse oder dem Typ implementiert werden. Trennen Sie mehrere Schnittstellen durch ein Komma, gefolgt von einem optionalen Leerzeichen. Sie können den Paket- und Schnittstellennamen eingeben oder nur den Schnittstellennamen und dann doppelt auf ein Element in der Drop-down-Liste klicken, um ihn automatisch zu vervollständigen.
    • Die automatische Vervollständigung funktioniert nur für den ersten Schnittstellennamen. Obwohl das Komma und der folgende Schnittstellenname möglicherweise einen Tooltip-Fehler verursachen, können Sie den Fehler ignorieren, da er sich nicht auf den generierten Code auswirkt.

    • Package : Das Paket, in dem sich die Klasse oder der Typ befindet. Der Standardwert wird automatisch im Feld angezeigt. Wenn Sie einen Paketnamen in das Feld eingeben, werden alle nicht vorhandenen Teile der Paket-ID rot hervorgehoben. In diesem Fall erstellt Android Studio das Paket, nachdem Sie auf OK geklickt haben. Dieses Feld muss einen Wert enthalten. Andernfalls enthält die Java Datei keine package Anweisung und die Klasse oder der Typ wird nicht in einem Paket im Projekt platziert.
    • Der Standardwert hängt davon ab, wie Sie das Dialogfeld Neue Klasse erstellen aufgerufen haben. Wenn Sie zuerst eine Java-Datei oder einen Java-Ordner im Fenster Project ausgewählt haben, ist der Standardwert das Paket für das ausgewählte Element. Wenn Sie zuerst im Code-Editor auf eine Java-Datei geklickt haben, ist der Standardwert das Paket, das diese Datei enthält.

    • Sichtbarkeit : Wählen Sie aus, ob die Klasse oder der Typ für alle Klassen oder nur für die Klassen im eigenen Paket sichtbar sein soll.
    • Modifiers: Wählen Sie für eine Class den Modifikator Abstract oder Final oder keinen von beiden aus.
    • Show Select Overrides Dialog: Wenn Kind auf Class festgelegt ist, aktivieren Sie diese Option, um das Dialogfeld „Select Methods to Override/Implement“ zu öffnen, nachdem Sie auf OK geklickt haben. In diesem Dialogfeld können Sie Methoden auswählen, die Sie überschreiben oder implementieren möchten. Android Studio generiert dann Skelettcode für diese Methoden.

    Alle Felder, die nicht auf Kind angewendet werden, sind ausgeblendet.

  4. Klicken Sie auf OK.
  5. Android Studio erstellt eine Java-Datei mit Skelettcode, die Sie ändern können. Die Datei wird im Code-Editor geöffnet.

Hinweis: Sie können eine Singleton-Klasse erstellen, indem Sie File > New > Singleton oder File > New > Java Class auswählen. Die zweite Methode bietet mehr Optionen.

Android Studio-Dateivorlagen

In diesem Abschnitt wird der Android Studio-Dateivorlagencode in der VTL-Skriptsprache aufgeführt, gefolgt von Definitionen der Variablen. Die Werte, die Sie im Dialogfeld Neue Klasse erstellen angeben, werden zu den Variablenwerten in der Vorlage. Beachten Sie, dass die Zeilen, die mit #if (${VISIBILITY} beginnen, sich bis zur öffnenden geschweiften Klammer ( { ) erstrecken.

Dateivorlage „AnnotationType“

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end @interface ${NAME} #if (${INTERFACES} != "")extends ${INTERFACES} #end {
}

Dateivorlage „Class“

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end #if (${ABSTRACT} == "TRUE")abstract #end #if (${FINAL} == "TRUE")final #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
}

Dateivorlage „Enum“

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
}

Dateivorlage „Interface“

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
#end {
}

Dateivorlage „Singleton“

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
    private static final ${NAME} ourInstance = new ${NAME}();

    #if (${VISIBILITY} == "PUBLIC")public #end static ${NAME} getInstance() {
        return ourInstance;
    }

    private ${NAME}() {
    }
}

Variablen für Dateivorlagen

Android Studio ersetzt Variablen für Dateivorlagen in der generierten Java-Datei durch Werte. Sie geben die Werte im Dialogfeld Neue Klasse erstellen ein. Die Vorlage enthält die folgenden Variablen, die Sie verwenden können:

  • IMPORT_BLOCK : Eine durch Zeilenumbrüche getrennte Liste von Java import Anweisungen, die zur Unterstützung von Basisklassen oder Schnittstellen erforderlich sind, oder ein leerer String (""). Wenn Sie beispielsweise nur die Runnable Schnittstelle implementieren und nichts erweitern, ist diese Variable "import java.lang.Runnable;\n". Wenn Sie die Runnable Schnittstelle implementieren und die Activity Klasse erweitern, ist sie "import android.app.Activity;\nimportjava.lang.Runnable;\n".
  • VISIBILITY : Gibt an, ob die Klasse öffentlichen Zugriff hat oder nicht. Sie kann den Wert PUBLIC oder PACKAGE_PRIVATE haben.
  • SUPERCLASS : Ein einzelner Klassenname oder leer. Wenn vorhanden, wird nach dem Namen der neuen Klasse eine extends ${SUPERCLASS}-Klausel eingefügt.
  • INTERFACES : Eine durch Kommas getrennte Liste von Schnittstellen oder leer. Wenn vorhanden, wird nach der Basisklasse oder nach dem Klassennamen eine implements ${INTERFACES}-Anweisung eingefügt, falls keine Basisklasse vorhanden ist. Bei Schnittstellen- und Annotationstypen haben die Schnittstellen das Keyword extends.
  • ABSTRACT : Gibt an, ob die Klasse abstrakt sein soll oder nicht. Sie kann den Wert TRUE oder FALSE haben.
  • FINAL : Gibt an, ob die Klasse final sein soll oder nicht. Sie kann den Wert TRUE oder FALSE haben.