关于多态和覆盖的问题
ttt 2002-01-23 10:43:58 看看下面这段程序:
public class TestOverride
{
public static void main(String[] args)
{
Employee e = new Manager();
e.getName();
e.getJob();
}
}
class Employee
{
String name = "Employee1";
public void getName()
{
System.out.println("The name is: " + name);
}
}
class Manager extends Employee
{
String name = "Manager";
String jobTitle = "General Manager";
public void getName()
{
System.out.println("The name is: " + name);
}
public void getJob()
{
System.out.println("The job title is: " + jobTitle);
}
}
现在编译不能通过。
如果把 e.getJob(); 这句话去掉,是可以运行的,结果是:
The name is Manager
既然这样,那为什么 e.getJob() 会出错呢? e 这个对象不是已经是 Manager 类了吗?