SORU
11 HAZİRAN 2015, PERŞEMBE


Neden değil't son bir değişken her zaman sabit bir ifade?

Aşağıdaki kodu için:

final int a;
a=2;
byte b=a;   // error: possible loss of precision

Neden bu hatayı alıyorum? a son değişken sürekli ifade ve örtülü olarak daralmış dolayısıyla atama sırasında byte derlemek değil mi?

Diğer bir deyişle, değil yukarıdaki kodun eşdeğeri:

final int a=2;
byte b=a;

CEVAP
11 HAZİRAN 2015, PERŞEMBE


JLS

Birboş finalbir başlatıcı yoksun olan final bir değişkendir.

Sürekli bir değişken ilkel türü veya türü final bir değişkendir String sabit bir ifade (§15.28) ile başlatıldı.

Sizin değişken

final int a;

birboş finaldeğişken. Bir başlatıcı yoksun. İkinci paragraf beyan başlatıldı olmadığından geçerli değildir. Bu nedenle sabit bir ifade değil.

Bu alanlar için de geçerlidir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MrDevin521

    MrDevin521

    18 Temmuz 2010
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • Utah Valley Online

    Utah Valley

    9 AĞUSTOS 2010