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

  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • Blu animations and other videos

    Blu animatio

    15 HAZİRAN 2007
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011