向上转型时会遗失除与父类对象共有的其他方法,通俗地讲即是将子类对象转为父类对象。此处父类对象可以是接口
java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象。 从2个名词开始说起:向上转型(upcasting) 、向下转型(downcasting). 举个例子:有2个类,Father是父类,Son类继承自Father。 Father f1 = new Son(); // 现在f1引用指向一个Son对象 Son s1 = (Son)f1; // 现在f1还是指向Son对象 第2个例子: Father f2 = new Father(); Son s2 = (Son)f2; 你或许会问,第1个例子中:Son s1 = (Son)f1;问什么是正确的呢。 |
|