字类和超类的转化问题
举个例子:有2个类,Father是父类,Son类继承自Father。
Father f1 = new Son(); // 这就叫 upcasting (向上转型)
// 现在f1引用指向一个Son对象
Son s1 = (Son)f1; // 这就叫 downcasting (向下转型)
// 现在f1还是指向Son对象
第2个例子:
Father f2 = new Father();
Son s2 = (Son)f2; // 出错,子类引用不能指向父类对象
这样就有这个问题:一个超类的实例是不能强转为子类的。
所以一般在写继承机构的时候,在使用的时候要用字类的实例赋予超类的引用。
Package package = new UMPPackage()