Hallo allerseits,
siehe Quellcode unten
Mit
((Vater)this).name
wird auf das Attribut name des Vaters zugegriffen und nicht auf den des Sohnes!
Warum wird aber mit
((Vater)this).print();
nicht auf die Methode des Vaters zugeriffen, sondern auf die
print() des Sohnes ?
Das ist mir absolut unverständlich.
mfg
Ernst
siehe Quellcode unten
Mit
((Vater)this).name
wird auf das Attribut name des Vaters zugegriffen und nicht auf den des Sohnes!
Warum wird aber mit
((Vater)this).print();
nicht auf die Methode des Vaters zugeriffen, sondern auf die
print() des Sohnes ?
Das ist mir absolut unverständlich.
mfg
Ernst
Code:
public class Startklasse {
public static void main(String[] args){
Sohn s = new Sohn("klaus", "walter");
s.print();
}
}
class Vater{
String name;
public void print(){
System.out.println("Ich bin der Vater");
}
public Vater(String name){
this.name=name;
}
}
class Sohn extends Vater{
String name;
public void print(){
System.out.println("Vater_name="+((Vater)this).name);
((Vater)this).print();
}
Sohn(String name, String vname){
super(vname);
this.name=name;
}
}
Zuletzt bearbeitet: