对于Java来说,不知有基础类型的强制转换,还有,类的。
这里假设超类(父类)Employee ,子类 Manager 。
Manager extends Employee;
一般,建立对象就是
Employee employee=new Employee();
Manager manager=new Manager();
但是,这里我们可以使用类的强制类型转换,前提为:
Employee stuff=new Manager();
//这里可以说是向上转型,将更为具体的Manager类赋给较抽象的Employee类
Manager boss=(Manager)stuff;
这里父类引用指向的对象的实际类型必须是子类的实例。
这里是将子类(new Manager() )转换成父类引用(stuff),然后可以再次强制转换成子类(boss)。
这里我看stuff是披着父类的羊皮,却实际是子类的狼。