01
Sınıflar ve Arayüzler
Nesne yaşam döngüsü ve yapıcılar, görünürlük düzeyleriyle kapsülleme, yeniden tanımlama ile gizlemenin ayrıldığı yer, soyut sınıfla arayüz arasındaki seçim, sınıf düzeyi durum ve başlatma sırası, genişletme kısıtı, iç içe sınıf türleri ve veri taşıyıcı tipler.
- 01 Sınıf, Nesne ve Yapıcı Yapıcı zinciri üstten alta çalışır ve zincirin üst halkasından çağrılan yeniden tanımlı bir yöntem çalışma zamanı tipinden gelir: alt sınıfın alanları henüz atanmadığı için sonuç `alt: null x0` çıkar, kırılgan bir sürümde nesne hiç teslim edilmez — özel ve `final` yöntemde ise aynı tuzak doğmaz.
- 02 Erişim Belirteçleri Dört görünürlük düzeyi ile dört çağrı konumu çaprazlandığında on altı çiftin onu derlenir; kararın tamamı derleme zamanında verilir ve çalışma zamanında üye yerinde durur — sınıf dosyasında dört alanın dördü de vardır, ayrımı yalnız bir bayrak taşır. Korumalı düzey paket içini de açar.
- 03 Kalıtım ve Yeniden Tanımlama Tek bir referans üzerinde sekiz karar okunuyor ve yanıt yarı yarıya bölünüyor: dördünü çalışma zamanı tipi, dördünü bildirilen tip veriyor. Alanların aynı adla yeniden bildirilmesi yeniden tanımlama değil gizlemedir; imza değiştiğinde ise yeniden tanımlama hiç doğmaz ve karar taraf değiştirir.
- 04 Soyut Sınıflar ve Arayüzler Aynı yetenek sekiz ayrı yoldan kurulduğunda derleme üçünde duruyor; kalan beşte derleyici kararı kendisi veriyor ve tarafı hiç sormuyor — sınıf gövdesi arayüz varsayılanını yener, alt arayüz üsttekini yener, yalnız iki bağımsız arayüz aynı varsayılanı verdiğinde reddeder. Durum taşıyan bir yetenek arayüzle kurulamaz.
- 05 Statik Üyeler ve Başlatma Blokları Statik yöntem yeniden tanımlanmaz, gizlenir: aynı çağrı yazımı bildirilen tipten seçilir ve boş referans üzerinden yapılan statik çağrı bile çalışır. Sınıf düzeyi durumun tek kopyası, sınıf başlatmasını hangi erişimin tetiklediği ve aynı satırın iki ayrı tarafa gittiği durum ölçülür.
- 06 `final` Anahtar Sözcüğü Tek bir anahtar sözcük üç ayrı kısıt koyar ve üçünü de derleme zamanında uygular: yeniden atama, yeniden tanımlama ve genişletme. Sabit bir final alanın değeri okuyan sınıfa yazılır ve kaynak değiştiğinde eski değer yerinde kalır; final bir referans ise nesneyi dondurmaz.
- 07 İç ve Yerel Sınıflar Tek bir kaynak dosyası altı sınıf dosyası üretir ve üretilenlerin dördü kaynakta hiç yazılmamış gizli alanlar taşır. İç sınıf dış örneğe bir alan üzerinden bağlanır ve o alanı canlı okur; yerel sınıf yakaladığı değişkeni yapıcı parametresiyle kopyalar, bu yüzden değişken bir daha atanamaz.
- 08 Kayıtlar ve Numaralandırmalar Tek satırlık bir kayıt bildirimi sınıf dosyasında on üye üretir ve üretilen sınıf genişletilemez, yani bildirilen tiple çalışma zamanı tipi hiçbir zaman ayrılamaz. Numaralandırmada ise gövde yazılan bir sabit kendi sınıfını alır; kaydın ürettiği eşitlik ise yalnız sığ korur.