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

  • AginoEvolutionHD

    AginoEvoluti

    27 AĞUSTOS 2011
  • fufko

    fufko

    27 ŞUBAT 2006
  • Majestic Casual

    Majestic Cas

    28 NİSAN 2012