Überschreiben von Mitgliedsvariablen in Java (Variable Hiding)Java

Java-Forum
Anonymous
 Überschreiben von Mitgliedsvariablen in Java (Variable Hiding)

Post by Anonymous »

Ich studiere überschreibende Mitgliedsfunktionen in Java und habe darüber nachgedacht, mit überschreibenden Mitgliedsvariablen zu experimentieren.
Ich habe drei Klassen definiert:

Code: Select all

public class A
{
public int intVal = 1;
public void identifyClass()
{
System.out.println("I am class A");
}
}

public class B extends A
{
public int intVal = 2;
public void identifyClass()
{
System.out.println("I am class B");
}
}

public class MainClass
{
public static void main(String[] args)
{
A a = new A();
B b = new B();
A aRef;
aRef = a;
System.out.println(aRef.intVal);
aRef.identifyClass();
aRef = b;
System.out.println(aRef.intVal);
aRef.identifyClass();
}
}
Die Ausgabe ist:

Code: Select all

1
I am class A
1
I am class B
Ich kann nicht verstehen, warum intVal immer noch von der Klasse A ist, wenn aRef auf b gesetzt ist?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post