Java向上转型
很多初学java的小伙伴可能会对java中向上转型的使用有点疑惑,据我敲了不怎么多的代码发现,向上转型如:父类 Animal ,子类 Dog 继承父类, Animal a = new Dog();(向上转型),引用对象a调用的方法可以看成是父类Animal中所包含的方法(有些方法可能被Dog类覆盖),Dog类中新增的方法,即在父类中没有的,在向上转型中的对象引用是无法调用的,如:假如子类Dog类中新增方法maiMeng(),当代码a.maiMeng(),会报错(提示:没有为类型Animal定义maiMeng()方法),成员变量也是如此。
总结:向上转型的对象引用只可调用父类有的成员方法和成员变量,包括已被覆盖的。子类新增的方法和变量在向上转型中无法被调用。