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 i seguenti nuovi tipi e classi:

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

Dopo aver compilato i campi della finestra di dialogo Crea nuovo corso e aver fatto clic su Ok, Android Studio crea un file .java contenente il codice di base, inclusa una dichiarazione del pacchetto, eventuali importazioni necessarie, un'intestazione e una dichiarazione di classe o tipo. Successivamente, puoi aggiungere il tuo codice a questo file.

I modelli di file specificano come Android Studio genera il codice di base. 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 come vengono create nuove classi e nuovi 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 nuovo corso.

I modelli di file di Android Studio includono codice e variabili VTL (Velocity Template Language) 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, segui questi passaggi:

  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 > File e modelli di 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 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.

Creazione di una classe o di un tipo Java

Android Studio ti aiuta a creare nuove classi Java, classi di enumerazione e singleton e tipi di interfacce e annotazioni in base ai 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 in un file Java nell'editor di codice. Quindi seleziona File > Nuovo > Classe Java.

    L'elemento selezionato determina il pacchetto predefinito per il nuovo corso o tipo.

  3. Nella finestra di dialogo Crea nuovo corso, compila i campi:
    • Nome: il nome della nuova classe o del nuovo tipo. Deve rispettare i requisiti per i nomi Java. Non digitare un'estensione del nome file.
    • Tipo: seleziona la categoria di corso o tipo.
    • Superclasse: la classe da cui eredita la nuova classe. Puoi digitare il nome del pacchetto e della classe o solo il nome della classe, quindi fare doppio clic su un elemento nell'elenco a discesa per completarlo automaticamente.
    • Interfaccia/e: una o più interfacce implementate dalla nuova classe o tipo. Più interfacce devono essere separate da una virgola seguita da uno spazio facoltativo. Puoi digitare il nome del pacchetto e dell'interfaccia o 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 la virgola e il nome dell'interfaccia successivo possono generare un errore della descrizione comando, ma puoi ignorarlo perché non influisce sul codice generato.

    • Pacchetto: il pacchetto in cui risiederà la classe o il tipo. Il valore predefinito viene visualizzato automaticamente nel campo. Se digiti un nome 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 verranno inseriti in un pacchetto nel progetto.
    • L'impostazione predefinita dipende dal modo in cui hai avviato la finestra di dialogo Crea nuovo corso. Se hai selezionato per prima cosa un file o una cartella Java nella finestra Progetto, il valore predefinito è il pacchetto per l'elemento selezionato. Se hai fatto clic per la prima volta in 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 un Corso o nessuno dei due.
    • Mostra finestra di dialogo Seleziona override: per un Tipo di Classe, seleziona questa opzione per aprire la finestra di dialogo Seleziona metodi per eseguire l'override/l'implementazione 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 di base 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 scheletrico che puoi modificare. Il file si apre 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 nuovo corso 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 del corso

#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 di interfaccia

#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 nuovo corso. Il modello ha le seguenti variabili che puoi utilizzare:

  • IMPORT_BLOCK: un elenco delimitato da interruzioni di riga di istruzioni Java import necessarie per supportare qualsiasi superclasse o interfacce 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 classe Activity, sarà "import android.app.Activity;\nimportjava.lang.Runnable;\n".
  • VISIBILITY - Indica se il corso avrà accesso pubblico o meno. Può avere un valore di PUBLIC o PACKAGE_PRIVATE.
  • SUPERCLASS - Un singolo nome del corso o vuoto. Se presente, dopo il nuovo nome della classe sarà presente una clausola extends ${SUPERCLASS}.
  • INTERFACES - Un elenco separato da virgole di interfacce o vuoto. Se presente, ci sarà una clausola implements ${INTERFACES} dopo la superclasse o dopo il nome della classe se non è presente una superclasse. Per le interfacce e i tipi di annotazione, le interfacce hanno la parola chiave extends.
  • ABSTRACT: indica se la classe deve essere astratta o meno. Può avere un valore di TRUE o FALSE.
  • FINAL: indica se la classe deve essere finale o meno. Può avere un valore di TRUE o FALSE.