Crea una classe o un tipo Java

Con la finestra di dialogo Crea nuova classe e i modelli di file, Android Studio ti aiuta a creare rapidamente le seguenti nuove classi e tipi:

  • Classi Java
  • Classi di enumerazione e singleton
  • Tipi di interfaccia e annotazione

Dopo aver compilato i campi della finestra di dialogo Crea nuova classe e aver fatto clic su OK, Android Studio crea un file .java contenente il codice scheletro, inclusa un'istruzione package, eventuali importazioni necessarie, un'intestazione e una dichiarazione di classe o tipo. A questo punto, puoi aggiungere il tuo codice a questo file.

I modelli di file specificano in che modo Android Studio genera il codice scheletro. Puoi utilizzare i modelli di file forniti con Android Studio così come sono o personalizzarli in base al tuo processo di sviluppo.

Visualizzare e personalizzare i modelli di file

Android Studio fornisce modelli di file che determinano la modalità di creazione di nuove classi e tipi Java con la finestra di dialogo Crea nuova classe. Puoi personalizzare questi modelli.

La finestra di dialogo Crea nuovo corso.

Figura 1. La finestra di dialogo Crea nuova classe.

I modelli di file di Android Studio includono codice e variabili di Velocity Template Language (VTL) che gestiscono queste opzioni aggiuntive. La finestra di dialogo Crea nuova classe utilizza i modelli di file AnnotationType, Class, Enum, Interface e Singleton.

Per visualizzare i modelli, trovare le personalizzazioni e modificarli:

  1. Effettua una delle seguenti operazioni:

    • Per Windows o Linux, seleziona File > Impostazioni > Editor > Modelli di file e codice > File.
    • Per macOS, seleziona Android Studio > Preferenze > Editor > Modelli di file e codice > File.

    Nell'elenco dei modelli, i nomi dei modelli interni sono in grassetto. I nomi dei modelli personalizzati vengono visualizzati in un colore di evidenziazione, ad esempio il blu.

  2. Personalizza i modelli di file in base alle tue esigenze.

    Se vuoi utilizzare i campi della finestra di dialogo Crea nuova classe, assicurati che le tue modifiche siano conformi al codice del modello di file di Android Studio.

Per ulteriori informazioni sui modelli di file, incluso VTL, consulta Modelli di file e codice e Finestra di dialogo Modelli di file e codice.

Creare una classe o un tipo Java

Android Studio ti aiuta a creare nuove classi Java, classi di enumerazione e singleton classi e tipi di interfaccia e annotazione basati su modelli di file.

Per creare una nuova classe o un nuovo tipo Java:

  1. Nella finestra Progetto , fai clic con il tasto destro del mouse su un file o una cartella Java e seleziona Nuovo > Classe Java.
  2. In alternativa, seleziona un file o una cartella Java nella finestra Progetto oppure fai clic su un file Java nell'editor di codice. Poi seleziona File > Nuovo > Classe Java.

    L'elemento selezionato determina il pacchetto predefinito per la nuova classe o il nuovo tipo.

  3. Nella finestra di dialogo Crea nuova classe, compila i campi:
    • Nome : il nome della nuova classe o del nuovo tipo. Deve rispettare i requisiti di denominazione Java. Non digitare un'estensione del nome file.
    • Tipo : seleziona la categoria di classe o tipo.
    • Superclasse : la classe da cui eredita la nuova classe. Puoi digitare il nome del pacchetto e della classe oppure solo il nome della classe e poi fare doppio clic su un elemento nell'elenco a discesa per completarlo automaticamente.
    • Interfacce : una o più interfacce implementate dalla nuova classe o dal tipo. Più interfacce devono essere separate da una virgola seguita da uno spazio facoltativo. Puoi digitare il nome del pacchetto e dell'interfaccia oppure solo il nome dell'interfaccia e poi fare doppio clic su un elemento nell'elenco a discesa per completarlo automaticamente.
    • Il completamento automatico funziona solo per il primo nome dell'interfaccia. Tieni presente che, anche se la virgola e il nome dell'interfaccia seguente possono generare un errore nel suggerimento, puoi ignorarlo perché non influisce sul codice generato.

    • Pacchetto : il pacchetto in cui risiederà la classe o il tipo in. Il valore predefinito viene visualizzato automaticamente nel campo. Se digiti un nome di pacchetto nel campo, le parti dell'identificatore del pacchetto che non esistono vengono evidenziate in rosso. In questo caso, Android Studio crea il pacchetto dopo che fai clic su OK. Questo campo deve contenere un valore. In caso contrario, il file Java non conterrà un'istruzione package e la classe o il tipo non verrà inserito in un pacchetto nel progetto.
    • Il valore predefinito dipende dalla modalità di avvio della finestra di dialogo Crea nuova classe. Se hai selezionato prima un file o una cartella Java nella finestra Progetto, il valore predefinito è il pacchetto dell'elemento selezionato. Se hai fatto clic prima su un file Java nell'editor di codice, il valore predefinito è il pacchetto che contiene questo file.

    • Visibilità : seleziona se la classe o il tipo è visibile a tutte le classi o solo a quelle del proprio pacchetto.
    • Modificatori : seleziona il modificatore Abstract o Final per una Classe oppure nessuno dei due.
    • Mostra finestra di dialogo Seleziona sostituzioni : per un Tipo di Classe, seleziona questa opzione per aprire la finestra di dialogo Seleziona metodi da sostituire/implementare dopo aver fatto clic su OK. In questa finestra di dialogo, puoi selezionare i metodi che vuoi sostituire o implementare e Android Studio genererà il codice scheletro per questi metodi.

    I campi che non si applicano al Tipo sono nascosti.

  4. Fai clic su OK.
  5. Android Studio crea un file Java con codice scheletro che puoi modificare. Apre il file nell'editor di codice.

Nota: puoi creare una classe singleton selezionando File > Nuovo > Singleton o File > Nuovo > Classe Java; quest' ultima tecnica offre più opzioni.

Modelli di file di Android Studio

Questa sezione elenca il codice del modello di file di Android Studio scritto nel linguaggio di scripting VTL, seguito dalle definizioni delle variabili. I valori che fornisci nella finestra di dialogo Crea nuova classe diventano i valori delle variabili nel modello. Tieni presente che le righe che iniziano con #if (${VISIBILITY} si estendono fino alla parentesi graffa aperta ( { ).

Modello di file 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 {
}

Modello di file 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 {
}

Modello di file 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 {
}

Modello di file 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 {
}

Modello di file 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}() {
    }
}

Variabili del modello di file

Android Studio sostituisce le variabili del modello di file con i valori nel file Java generato. Inserisci i valori nella finestra di dialogo Crea nuova classe. Il modello ha le seguenti variabili che puoi utilizzare:

  • IMPORT_BLOCK : un elenco di istruzioni Java import separate da nuove righe necessarie per supportare qualsiasi superclasse o interfaccia oppure una stringa vuota (""). Ad esempio, se implementi solo l'interfaccia Runnable e non estendi nulla, questa variabile sarà "import java.lang.Runnable;\n". Se implementi l'interfaccia Runnable ed estendi la Activity classe, sarà "import android.app.Activity;\nimportjava.lang.Runnable;\n".
  • VISIBILITY : indica se la classe avrà accesso pubblico o meno. Può avere un valore PUBLIC o PACKAGE_PRIVATE.
  • SUPERCLASS : un singolo nome di classe o vuoto. Se presente, dopo il nuovo nome della classe sarà presente una clausola extends ${SUPERCLASS}.
  • INTERFACES : un elenco di interfacce separate da virgole o vuoto. Se presente, dopo la superclasse o dopo il nome della classe, se non è presente una superclasse, sarà presente una clausola implements ${INTERFACES}. Per i tipi di interfaccia e annotazione, le interfacce hanno la parola chiave extends.
  • ABSTRACT : indica se la classe deve essere astratta o meno. Può avere un valore TRUE o FALSE.
  • FINAL : indica se la classe deve essere finale o meno. Può avere un valore TRUE o FALSE.