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

  • Excel Functions

    Excel Functi

    4 NİSAN 2010
  • jagadambarecords

    jagadambarec

    13 AĞUSTOS 2008
  • LiquidMusick

    LiquidMusick

    23 Aralık 2010