Hey,
Wieso wird hier zweimal "Miau Miau" ausgegeben? Die erste Ausgabe sollte doch "Fauch" sein, da Hauskatze h in Katze gecastet wird.
[CODE lang="java" highlight="23"]public class Katze {
private String name ;
public Katze ( String name ) {
this. name = name ;
}
public String miezmiez () {
return " Fauch !";
}
}
public class Hauskatze extends Katze {
private String name ;
public Hauskatze ( String name ) {
super( name );
}
public String miezmiez () {
return " Miau Miau ";
}
}
public class Tierfreund {
public static void main ( String [] args ) {
Hauskatze h = new Hauskatze (" Schnurri ");
Katze k = new Katze (" Garfield ");
System . out . println ((( Katze )h). miezmiez ());
k = h;
System . out . println ((( Hauskatze )k). miezmiez ());
}
}[/CODE]
Wieso wird hier zweimal "Miau Miau" ausgegeben? Die erste Ausgabe sollte doch "Fauch" sein, da Hauskatze h in Katze gecastet wird.
[CODE lang="java" highlight="23"]public class Katze {
private String name ;
public Katze ( String name ) {
this. name = name ;
}
public String miezmiez () {
return " Fauch !";
}
}
public class Hauskatze extends Katze {
private String name ;
public Hauskatze ( String name ) {
super( name );
}
public String miezmiez () {
return " Miau Miau ";
}
}
public class Tierfreund {
public static void main ( String [] args ) {
Hauskatze h = new Hauskatze (" Schnurri ");
Katze k = new Katze (" Garfield ");
System . out . println ((( Katze )h). miezmiez ());
k = h;
System . out . println ((( Hauskatze )k). miezmiez ());
}
}[/CODE]