SORU
8 Aralık 2012, CUMARTESİ


Neden't nitelikli static final değişken statik başlatma bloğu yasaktır?

Durum 1

class Program {
    static final int var;

    static {
        Program.var = 8;  // Compilation error
    }

    public static void main(String[] args) {
        int i;
        i = Program.var;
        System.out.println(Program.var);
    }
}

2 durumda

class Program {
    static final int var;

    static {
        var = 8;  //OK
    }

    public static void main(String[] args) {
        System.out.println(Program.var);
    }
}

Neden yaparDurum 1derleme hatası neden?

CEVAP
8 Aralık 2012, CUMARTESİ


Bu İDEA cevabı (cesur açıklama not) tutar:

Benzer şekilde, her boş son değişken en fazla bir kez atanmış olmalı; olmalıkesinlikle atanmamışbunun için bir görev olduğunda.Böyle bir görev tanımlı meydana geliyorsa ve ya da yalnızca basit bir isim değişkeni (veya bir alan, basit adı bu) oluşur Sol tarafta bir atama operatörü.[§16]

Bu 'basit adı' static final değişkenler - yani var adı, herhangi bir eleme olmadan atarken kullanılmalıdır. anlamına gelir

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • VvCompHelpvV

    VvCompHelpvV

    4 EYLÜL 2007
  • Yo Mama

    Yo Mama

    18 EYLÜL 2005