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

  • Android Authority

    Android Auth

    3 NİSAN 2011
  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010