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

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • WHZGUD2

    WHZGUD2

    21 EYLÜL 2011
  • wolfys you tube

    wolfys you t

    22 Kasım 2006