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

  • DavidParody

    DavidParody

    17 EKİM 2009
  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007
  • Music EuroDance 2

    Music EuroDa

    12 Mayıs 2011