Aşağıdaki metni anlayamıyorum ... Bunun <clinit>
boş kurucular için olduğu anlamına mı geliyor ? İki farklı versiyona sahip olmak neden önemlidir?
https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html
2.9. Special Methods
Java sanal makinesi düzeyinde, her kurucu (§2.12), özel ada sahip bir örnek başlatma yöntemi olarak görünür
<init>
. Bu isim bir derleyici tarafından sağlanır. Ad<init>
, geçerli bir tanımlayıcı olmadığından, doğrudan Java programlama dilinde yazılmış bir programda kullanılamaz. Örnek başlatma yöntemleri, yalnızca Java sanal makinesinde özel olarak çağırma talimatı ile çağrılabilir ve yalnızca başlatılmamış sınıf örneklerinde çağrılabilir. Bir örnek başlatma yöntemi, türetildiği kurucunun erişim izinlerini (§2.7.4) alır.Bir sınıf veya arabirim en fazla bir sınıfa veya arabirim başlatma yöntemine sahiptir ve bu yöntemi çağırarak başlatılır (§2.17.4). Bir sınıfın veya arabirimin başlatma yöntemi statiktir ve hiçbir argüman almaz. Özel bir adı var
<clinit>
. Bu ad bir derleyici tarafından sağlanır. Ad<clinit>
, geçerli bir tanımlayıcı olmadığından, doğrudan Java programlama dilinde yazılmış bir programda kullanılamaz. Sınıf ve arayüz başlatma yöntemleri, Java sanal makinesi tarafından dolaylı olarak çağrılır; hiçbir zaman doğrudan herhangi bir Java sanal makine inw2struction'dan çağrılmazlar, ancak sınıf başlatma işleminin bir parçası olarak yalnızca dolaylı olarak çağrılırlar.
CL
?