SORU
26 Mart 2009, PERŞEMBE


Bir şekilde Java sınıf değişkenleri geçersiz kılmak var mı?

class Dad
{
    protected static String me = "dad";

    public void printMe()
    {
        System.out.println(me);
    }
}

class Son extends Dad
{
    protected static String me = "son";
}

public void doIt()
{
    new Son().printMe();
}

İşlev doİt yazdırır "baba". Orada baskı yapmak için bir yoldur "evlat" mı?

CEVAP
6 Kasım 2009, Cuma


Kısacası, hayır, bir sınıf değişkeni geçersiz kılmak için bir yolu yoktur.

Sen bunları gizlemek Java sınıf değişkenleri geçersiz. Geçersiz kılma örneği için yöntem. Gizleme geçersiz kılma farklıdır.

Örnek gösterdin tarafından ilan edilen sınıf değişkeni ile adı 'ben' sınıf Evlat gizlemek sınıf değişkeni olur kalıtsal kendi üst sınıf Baba ile aynı adı taşıyan 'bana'. Bir değişken bu şekilde saklanıyor sınıf değişken değeri 'benim' üst sınıf Baba etkilemez.

Bunu baskı yapmak için nasıl Sorunuzun ikinci bölümü için, "evlat", düzeltirdim kurucu) değeri. Aşağıdaki kod orijinal soru çok yola rağmen, böyle bir şey yazmak istiyorum;

public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public void printName() {
        System.out.println(name);
    }
}

Bu İDEA bölümünde gizleme hakkında çok daha fazla ayrıntı 8.3 - Field Declarations verir

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DJPixcell

    DJPixcell

    20 NİSAN 2007
  • sinumatic

    sinumatic

    19 Aralık 2006
  • STITCHLESS TV how to sew your own style tutorials

    STITCHLESS T

    9 HAZİRAN 2011