Employee e = new Manager();e实际上是Manager的实例,在这里进行了向上转型可以这么理解Manager m=new Manager();Employee e=(Employee)m; //但是e的Employee类型比较窄,这里强制转换是多余的e实质上是m的引用,因此,Employee e = new Manager();中e是Manager的实例,要使用与Employee类非重叠部分就要强制转换回来 ((Manager)e).method...
调试欢乐多
还有,Employee e = new Manager()这种用法,在实际应用中有什么样的作用呢?非常感谢你的回答
我的理解是你定义了e为Employee,那么你对Employee的所有操作,系统只去找Employee.class以及Employee的所有父类的库,而department字段是Manager的,也就是在Manager.class中的