Hey ich habe ein Problem , und zwar weiß ich nicht warum in dem folgendem Code nur "M" ausgegeben wird:
Kann mir einer schritt für schritte erklären warum nur "M" ausgegeben wird? Danke!
Java:
class All { /* ....*/ }
class Most extends All { /*......*/}
class Special extends Most { /*......*/}
class Top {
public void m(All p)
{
System.out.println("A ");
}
}
class Middle extends Top {
public void m(All p)
{
System.out.println("M ");
}
public void m(Special p)
{
System.out.println("L ");
}
}
class Bottom extends Middle {
public void m(Most p)
{
System.out.println("V ");
}
public void m(Special p)
{
System.out.println("X ");
}
}
class Test {
public static void run()
{
All all = new All();
Most most = new Most();
Special special = new Special();
Top x = new Middle();
Top y = new Bottom();
Middle z = new Bottom();
x.m(most);
x.m(special);
y.m(all);
y.m(special);
z.m(all);
z.m(most);
}
}
Kann mir einer schritt für schritte erklären warum nur "M" ausgegeben wird? Danke!
Zuletzt bearbeitet: