SORU
20 Temmuz 2012, Cuma


Java boş bir başvuru statik alanlar

Java static üyeler (static alanları veya 3* *yöntemleri) kendi sınıfı yerine, bu sınıfın nesneleri ile ilişkilidir. Aşağıdaki kodu null başvuru statik bir alana erişmeye çalışır.

public class Main
{
    private static final int value = 10;

    public Main getNull()
    {
        return null;
    }

    public static void main(String[] args)
    {
        Main main=new Main();
        System.out.println("value = " main.getNull().value);
    }
}

main.getNull() null döner olsa da çalışır ve görüntüler value = 10. Bu kodu nasıl çalışır?

CEVAP
20 Temmuz 2012, Cuma


Bu davranış Java Language Specification belirtilen:

bir null başvuru özel durumu neden olmadan (static) sınıf değişken erişmek için kullanılabilir.

Daha fazla ayrıntı, bir Primary.staticField şöyle çalışır (vurgu benim) gibi static field evaluation, - senin durumunda, Primary = main.getNull():

  • Birincil ifade değerlendirilirsonuç atılır. [...]
  • Alan ise boş olmayan nihai bir alansonuç İlköğretim ifadenin türü, sınıf veya arabirim belirtilen sınıf değişken değeri.[...]

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • Kat Krazy

    Kat Krazy

    12 Kasım 2010
  • Showtime

    Showtime

    21 HAZİRAN 2006