Heim  >  Artikel  >  Java  >  Versteckte Details zu Mitgliedsvariablen in Java

Versteckte Details zu Mitgliedsvariablen in Java

黄舟
黄舟Original
2017-09-21 09:29:481854Durchsuche

Der folgende Editor bringt Ihnen einen Artikel zum Ausblenden von Java-Mitgliedsvariablen (Erklärung mit Beispielen). Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf die Elternklasse? Schauen wir uns das folgende Beispiel an:


Das Ergebnis der Ausführung der Hauptmethode der Klasse C ist:
public class A {
  public int x=10;
}
public class B extends A {
  public int x=20;
}
public class C {
  public static void main(String[] args) {
    A a=new B();
    System.out.println(a.x);  //1
    B b=new B();
    System.out.println(b.x);  //2
    System.out.println(((A)b).x);  //3
  }
}

1020

10


Anhand der Ergebnisse können wir erkennen, dass die Unterklasse die Mitgliedsvariablen der übergeordneten Klasse nicht überschreibt. Unser Eclipse-Debugging-Tool kann dies auch in Objekt a deutlich erkennen Es gibt zwei Mitgliedsvariablen für den direkten Zugriff auf Mitglieder eines Objekts. Die offizielle Erklärung lautet wie folgt:

Wenn in einer Klasse die Mitgliedsvariablen in der Unterklasse denselben Namen haben wie die Mitgliedsvariablen in die übergeordnete Klasse, auch wenn ihre Typen unterschiedlich sind, solange die Namen gleich sind. Mitgliedsvariablen in der übergeordneten Klasse werden ausgeblendet.

In einer Unterklasse kann nicht einfach per Referenz auf Mitgliedsvariablen der übergeordneten Klasse zugegriffen werden. Stattdessen müssen die ausgeblendeten Mitgliedsvariablen der übergeordneten Klasse aus der Referenz der übergeordneten Klasse abgerufen werden. Im Allgemeinen empfehlen wir nicht, Mitgliedsvariablen auszublenden,

, da dies die Lesbarkeit des Codes erschwert.

Bei statischen Methoden ist es ähnlich wie bei Mitgliedsvariablen:

Das Ergebnis ist wie folgt:

Das obige ist der detaillierte Inhalt vonVersteckte Details zu Mitgliedsvariablen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn