这是我的示例程序。
class parent
{
void display(int i)
{
System.out.println("parent");
}
}
class child extends parent
{
void display(byte i) //Line 0
{
System.out.println("child");
return;
}
}
class impl
{
public static void main(String...args)
{
parent p = new parent();
p.display(5); //Line 1
child c = new child();
c.display(3); //Line 2
}
}
这是我的输出。
varun@\:~/Desktop/JavaFiles$ java impl
parent
parent
我了解第 1 行从父级调用 display() 方法并输出预期的“父级”。
但是我不明白为什么第 2 行从父级而不是子级调用 display(),即使我没有使用多态初始化(我所做的只是子类的常规初始化)。