Java sınıfı veya türü oluşturma

Android Studio, Yeni Sınıf Oluştur iletişim kutusu ve dosya şablonlarıyla aşağıdaki yeni sınıf ve türleri hızlıca oluşturmanıza yardımcı olur:

  • Java sınıfları
  • Listeleme ve tekil sınıflar
  • Arayüz ve ek açıklama türleri

Yeni Sınıf Oluştur iletişim kutusu alanlarını doldurup Tamam'ı tıkladığınızda Android Studio, paket beyanı, gerekli içe aktarma işlemleri, başlık ve sınıf veya tür beyanı da dahil olmak üzere iskelet kod içeren bir .java dosyası oluşturur. Ardından, kodunuzu bu dosyaya ekleyebilirsiniz.

Dosya şablonları, Android Studio'nun iskelet kodunu nasıl oluşturduğunu belirtir. Android Studio ile birlikte sağlanan dosya şablonlarını olduğu gibi kullanabilir veya geliştirme sürecinize uyacak şekilde özelleştirebilirsiniz.

Dosya şablonlarını görüntüleme ve özelleştirme

Android Studio, Yeni Sınıf Oluştur iletişim kutusu ile yeni Java sınıflarının ve türlerinin nasıl oluşturulacağını belirleyen dosya şablonları sağlar. Bu şablonları özelleştirebilirsiniz.

Yeni Sınıf Oluştur iletişim kutusu.

Şekil 1. Yeni Sınıf Oluştur iletişim kutusu.

Android Studio dosya şablonları, Velocity Şablon Dili (VTL) kodu ve bu ek seçenekleri işleyen değişkenler içerir. Yeni Sınıf Oluştur iletişim kutusunda AnnotationType, Class, Enum, Interface ve Singleton dosya şablonları kullanılır.

Şablonları görüntülemek, özelleştirmeleri bulmak ve şablonları değiştirmek için aşağıdaki adımları uygulayın:

  1. Aşağıdakilerden birini yapın:

    • Windows veya Linux için Dosya > Ayarlar > Düzenleyici > Dosya ve Kod Şablonları > Dosyalar'ı seçin.
    • macOS için Android Studio > Tercihler > Düzenleyici > Dosya ve Kod Şablonları > Dosyalar'ı seçin.

    Şablon listesinde dahili şablon adları kalın yazıyla gösterilir. Özelleştirilmiş şablon adları mavi gibi bir vurgu renginde gösterilir.

  2. Dosya şablonlarını gerektiği gibi özelleştirin.

    Yeni Sınıf Oluştur iletişim kutusu alanlarını kullanmak istiyorsanız değişikliklerinizin Android Studio dosya şablon koduna uyduğundan emin olun.

VTL dahil olmak üzere dosya şablonları hakkında daha fazla bilgi için Dosya ve Kod Şablonları ve Dosya ve Kod Şablonları İletişim Kutusu başlıklı makaleleri inceleyin.

Java sınıfı veya türü oluşturma

Android Studio, dosya şablonlarına dayalı yeni Java sınıfları, listeleme ve tekil sınıflar, arayüz ve ek açıklama türleri oluşturmanıza yardımcı olur.

Yeni bir Java sınıfı veya türü oluşturmak için aşağıdaki adımları uygulayın:

  1. Proje penceresinde bir Java dosyasını veya klasörünü sağ tıklayın ve Yeni > Java Sınıfı'nı seçin.
  2. Alternatif olarak, Proje penceresinde bir Java dosyası veya klasörü seçin ya da Kod Düzenleyici'de bir Java dosyasını tıklayın. Ardından Dosya > Yeni > Java Sınıfı'nı seçin.

    Seçtiğiniz öğe, yeni sınıf veya tür için varsayılan paketi belirler.

  3. Yeni Sınıf Oluştur iletişim kutusunda alanları doldurun:
    • Ad: Yeni sınıfın veya türün adı. Java ad koşullarına uygun olmalıdır. Dosya adı uzantısı yazmayın.
    • Tür: Sınıf veya tür kategorisini seçin.
    • Üst sınıf: Yeni sınıfınızın devraldığı sınıftır. Paket ve sınıf adını veya yalnızca sınıf adını yazıp açılır listedeki bir öğeyi çift tıklayarak otomatik tamamlama özelliğini kullanabilirsiniz.
    • Arayüzler: Yeni sınıfın veya türün uyguladığı bir veya daha fazla arayüz. Birden fazla arayüz virgülle ve ardından isteğe bağlı bir boşlukla ayrılmalıdır. Paket ve arayüz adını veya yalnızca arayüz adını yazıp açılır listedeki bir öğeyi çift tıklayarak otomatik tamamlama özelliğini kullanabilirsiniz.
    • Otomatik tamamlama yalnızca ilk arayüz adı için çalışır. Virgül ve ardından gelen arayüz adı bir ipucu hatası oluştursa da oluşturulan kodu etkilemediği için hatayı yoksayabilirsiniz.

    • Paket: Sınıfın veya türün bulunduğu paket. Varsayılan değer, alanda otomatik olarak görünür. Alana bir paket adı yazarsanız paket tanımlayıcının mevcut olmayan bölümleri kırmızıyla vurgulanır. Bu durumda, Tamam'ı tıkladıktan sonra Android Studio paketi oluşturur. Bu alan bir değer içermelidir. Aksi takdirde Java dosyası bir package ifadesi içermez ve sınıf veya tür projedeki bir pakete yerleştirilmez.
    • Varsayılan ayar, Yeni Sınıf Oluştur iletişim kutusunu nasıl başlattığınıza bağlıdır. İlk olarak Proje penceresinde bir Java dosyası veya klasörü seçtiyseniz varsayılan olarak seçtiğiniz öğenin paketi kullanılır. Kod Düzenleyici'de ilk olarak bir Java dosyasını tıkladıysanız varsayılan olarak bu dosyayı içeren paket seçilir.

    • Görünürlük: Sınıfın veya türün tüm sınıflar tarafından mı yoksa yalnızca kendi paketindeki sınıflar tarafından mı görülebileceğini seçin.
    • Değiştiriciler: Sınıf için Soyut veya Nihai değiştiriciyi ya da hiçbirini seçin.
    • Yedekleri Seç iletişim kutusunu göster: Sınıf Türü için Tamam'ı tıkladıktan sonra Yedekleri Seç/Uygula iletişim kutusunu açmak üzere bu seçeneği işaretleyin. Bu iletişim kutusunda, geçersiz kılmak veya uygulamak istediğiniz yöntemleri seçebilirsiniz. Android Studio, bu yöntemler için iskelet kod oluşturur.

    Tür için geçerli olmayan tüm alanlar gizlenir.

  4. Tamam'ı tıklayın.
  5. Android Studio, değiştirebileceğiniz iskelet kod içeren bir Java dosyası oluşturur. Dosya, Kod Düzenleyici'de açılır.

Not: Dosya > Yeni > Tekil'i veya Dosya > Yeni > Java Sınıfı'nı seçerek tekil sınıf oluşturabilirsiniz. İkinci teknik daha fazla seçenek sunar.

Android Studio dosya şablonları

Bu bölümde, VTL komut dosyası dilinde yazılmış Android Studio dosya şablonu kodu ve ardından değişkenlerin tanımları listelenmektedir. Yeni Sınıf Oluştur iletişim kutusunda sağladığınız değerler, şablondaki değişken değerler olur. #if (${VISIBILITY} ile başlayan satırların açık paranteze ( { ) kadar uzandığını unutmayın.

AnnotationType dosya şablonu

#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 {
}

Sınıf dosyası şablonu

#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 {
}

Enum dosya şablonu

#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 {
}

Arayüz dosyası şablonu

#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 {
}

Tekil dosya şablonu

#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}() {
    }
}

Dosya şablonu değişkenleri

Android Studio, dosya şablonu değişkenlerini oluşturulan Java dosyasındaki değerlerle değiştirir. Değerleri Yeni Sınıf Oluştur iletişim kutusuna girersiniz. Şablonda kullanabileceğiniz aşağıdaki değişkenler vardır:

  • IMPORT_BLOCK: Herhangi bir üst sınıfı veya arayüzü desteklemek için gerekli olan Java import ifadelerinin yeni satırla ayrılmış listesi ya da boş bir dize (""). Örneğin, yalnızca Runnable arayüzünü uygular ve hiçbir şeyi genişletmezseniz bu değişken "import java.lang.Runnable;\n" olur. Runnable arayüzünü uygular ve Activity sınıfını genişletirseniz "import android.app.Activity;\nimportjava.lang.Runnable;\n" olur.
  • VISIBILITY : Sınıfın herkese açık olup olmayacağı. PUBLIC veya PACKAGE_PRIVATE değerine sahip olabilir.
  • SUPERCLASS: Tek bir sınıf adı veya boş. Varsa yeni sınıf adından sonra bir extends ${SUPERCLASS} yan tümcesi bulunur.
  • INTERFACES: Arayüzlerin virgülle ayrılmış listesi veya boş. Varsa üst sınıftan sonra veya üst sınıf yoksa sınıf adından sonra bir implements ${INTERFACES} yan tümcesi bulunur. Arayüzler ve ek açıklama türleri için arayüzlerde extends anahtar kelimesi bulunur.
  • ABSTRACT: Sınıfın soyut olup olmayacağını belirtir. TRUE veya FALSE değerine sahip olabilir.
  • FINAL: Sınıfın nihai olup olmayacağı. TRUE veya FALSE değerine sahip olabilir.