Crea una classe o un tipo Java

Con la finestra di dialogo Crea nuovo corso 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
  • Interfaccia e tipi di annotazioni

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 codice di base, tra cui un'istruzione del pacchetto, eventuali importazioni necessarie, un'intestazione e una dichiarazione di classe o tipo. Successivamente, puoi aggiungere il 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.

Visualizzazione e personalizzazione dei modelli di file

Android Studio fornisce modelli di file che determinano come vengono creati nuovi tipi e classi Java con la finestra di dialogo Crea nuovo corso. 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 in 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 evidenziato, ad esempio 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 saperne di più sui modelli di file, incluso VTL, consulta Modelli di file e di codice e Finestra di dialogo Modelli di file e di codice.

Creazione di un tipo o di una classe Java

Android Studio ti aiuta a creare nuove classi Java, classi di enumerazione e singleton, nonché tipi di interfaccia e annotazione in base a 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 o fai clic su un file Java nell'editor di codice. Quindi, seleziona File > Nuovo > Classe Java.

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

  3. Nella finestra di dialogo Crea nuovo corso, compila i campi:
    • Nome: il nome del nuovo tipo o della nuova classe. Deve essere conforme ai requisiti per i nomi Java. Non digitare un'estensione del nome del file.
    • Tipo: seleziona la categoria del corso o del 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 il completamento automatico.
    • Interfacce: una o più interfacce implementate dalla nuova classe o dal nuovo 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, quindi 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 nella descrizione comando, 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 del 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 hai fatto 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 del progetto.
    • L'impostazione predefinita dipende dal modo in cui hai avviato la finestra di dialogo Crea nuovo corso. Se hai selezionato inizialmente un file o una cartella Java nella finestra Progetto, il valore predefinito è il package per l'elemento selezionato. Se hai fatto clic per la prima volta 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 tutti i corsi o solo a quelli del proprio pacchetto.
    • Modificatori: seleziona il modificatore Astratto o Finale 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 da sostituire o implementare e Android Studio genererà il codice di base per questi metodi.

    Tutti i campi che non si applicano a Tipo sono nascosti.

  4. Fai clic su OK.
  5. Android Studio crea un file Java con codice scheletro 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. La seconda 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 contiene le seguenti variabili che puoi utilizzare:

  • IMPORT_BLOCK: un elenco delimitato da riga nuova di istruzioni Javaimport necessarie per supportare qualsiasi superclasse o interface 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 espandi la classe Activity, il risultato sarà "import android.app.Activity;\nimportjava.lang.Runnable;\n".
  • VISIBILITY - Indica se il corso 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, verrà visualizzata 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 TRUE o FALSE.
  • FINAL: indica se il corso deve essere finale o meno. Può avere un valore di TRUE o FALSE.