SORU
2 Aralık 2008, Salı


Java statik başlatıcı

Benim sorum statik anahtar kelime hakkında belirli bir kullanım. Mümkün static Herhangi bir fonksiyonu olmayan bir sınıf içinde bir kod bloğu kapağı için anahtar kelime kullanın. Örneğin, aşağıdaki kod derleme yapar:

public class Test {
    private static final int a;    
    static {
        a = 5;
        doSomething(a);
    }
    private static int doSomething(int x) {
        return (x 5);
    }
}

Değişken 4 ** çünkü şikayet static sözcük kaldırırsanız, final. Ancak final ve 7 ** kelimeleri de kaldırmak ve derleme yapmak mümkündür.

Her iki şekilde de benim için kafa karıştırıcı. Nasıl bir yöntem ait olmayan bir kod bölümü var mı gerekiyor? Nasıl çağırmak mümkün mü? Genel olarak, bu kullanım amacı nedir? Ya iyi, nerede bu ilgili belgeleri bulabilirim?

CEVAP
2 Aralık 2008, Salı


Statik değiştirici ile kod bloğu anlamına gelirsınıfbaşlatıcı; statik değiştirici olmadan kod bloğuörnekbaşlatıcı.

Sınıf başlatıcılar sınıfı (çözüldü aslında, ama teknik olarak) yüklendiğinde tanımlanan (basit değişken başlatıcılar gibi yukarıdan aşağıya) sırasına göre yürütülür.

Örnek başlatıcılar oluşturucu kodu, hemen süper kurucu çağırma sonra yürütülür hemen önce sipariş sınıf örneği tanımlı idam edilir.

int a, static kaldırırsanız inşaat başlatılmadı, örnek bir değişken haline gelir. Ayrıca başlatıcı blok static kaldırırsanız, o zaman bir örnek başlatıcı olur ve int a inşaat başlatıldı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • LIVESTRONG.COM

    LIVESTRONG.C

    5 EKİM 2005
  • tsweeney79

    tsweeney79

    21 Ocak 2008
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008