SORU
16 Mayıs 2012, ÇARŞAMBA


Statik bir nesne oluşturma

Herkes Java bu kodu nasıl çalıştırdığını açıklayabilir mi? Her deyimi yürütme sırasını yani.

public class Foo
{
    boolean flag = sFlag;
    static Foo foo = new Foo();
    static boolean sFlag = true;

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

ÇIKIŞ:

false

CEVAP
16 Mayıs 2012, ÇARŞAMBA


  • Sınıf başlatma başlar. Başlangıçta, foo boş ve sFlag false
  • İlk statik değişken başlatıcı (foo) çalışır:
    • Foo yeni bir örneği oluşturulur
    • flag örneğin değişken başlatıcı flag değeri false yani şu anda sFlag yanlış, yürütür
  • İkinci bir statik değişken başlatıcı (sFlag), true değerini ayarlama yürütür
  • Sınıf başlatma işlemini tamamlar
  • main yanlış olan foo.flag Basım çalışır

sFlag final olarak ilan edildi gibi bir tedavi olacağını unutmayınderleme zamanı sabiti, tüm başvuruları temelde true, foo.flag böylece inlined olurdu gerçek olur en fazla.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog2

    EEVblog2

    2 HAZİRAN 2014
  • Jucyber Tutoriais

    Jucyber Tuto

    8 EYLÜL 2009
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006