首先,经理Manager类继承员工Employee类:
public class Manager extends Employee(){
.......
}
再来看一段代码:
Employee e = new Employee();
Manager boss = new Manager();
e = boss;
上面这段代码表示将经理Manager类的引用赋给父类Employee的变量,将Manager类设计为Employee类,也就是说每一个经理都属于员工,反之则不然。这就是多态。多态就是一种替换原则,指出程序中父类对象出现的任何地方都可以用子类对象替换。但是并不能这样替代:
Employee e = new Employee();
Manager boss = new Manager();
boss = e ;
上面这段代码的含义就是每一个员工都是经理,这显然不对,并不是每一个员工都属于经理。
总结:在程序中,只能将子类的引用赋给父类变量,而不能将父类的引用赋给子类变量。