SORU
6 ŞUBAT 2011, Pazar


Varsayılan alan başlatma satır içi oluşturucu

Bir varsayılan Kurucu ve sadece doğrudan bir nesnenin alanı başlatılıyor arasındaki fark nedir?

Sebep diğeri üzerinde aşağıdaki örneklerden birini tercih etmek.

Örnek 1

public class Foo
{
    private int x = 5;
    private String[] y = new String[10];
}

Örnek 2

public class Foo
{
    private int x;
    private String[] y;

    public Foo()
    {
        x = 5;
        y = new String[10];
    }
}

CEVAP
6 ŞUBAT 2011, Pazar


İnitialisers yapıcı kurumlar önünde idam edilir. Eğer her iki initialisers ve kurucular, kurucu kodu yürütür ve ikinci başlatıldığını değeri geçersiz kılar etkileri vardır

İnitialisers iyi zaman sana her zaman ihtiyacım var aynı başlangıç değeri (olduğu gibi; örneğin, bir dizi belirli boyut ya da belirli tamsayı değeri), ama iş senin lehinde veya aleyhinde:

Eğer değişkenler farklı (farklı değerler ile yani) yeniden birçok kurucular varsa, o zaman initialisers değişiklikleri geçersiz ve gereksiz olacaktır, çünkü işe yaramaz.

Eğer aynı değer ile yeniden birçok kurucular varsa öte yandan, o zaman tek bir yerde tutarak başlatma kodu (kodunuzu biraz daha rahat olun) satır kaydedebilirsiniz.

Michael dediği gibi, tadı da ilgili bir konu var - tek bir yerde kod tutmak isteyebilirsiniz. Eğer birçok kurucular varsa bu kodu herhangi bir durumda tek bir yerde olmasa da, bu yüzden initialisers destek olurdum.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HowcastTechGadgets

    HowcastTechG

    22 EYLÜL 2010
  • Liberator

    Liberator

    14 EYLÜL 2007
  • Phlearn Photoshop and Photography Tutorials

    Phlearn Phot

    11 EKİM 2011