首页 > 代码库 > Java多态小总结
Java多态小总结
多态,又可以称为动态绑定,即在运行时确定类型,比如:
1 class A { 2 void draw(){ 3 //输出“A” 4 } 5 } 6 class B { 7 void draw(){ 8 //输出“B” 9 }10 11 }
这种关系里,如果调用A a = new B();
此时,被称为向上转型,a的类型可能在很早之前被生命,而在这时候被明确指明是其子类型,
我们如果要去调用draw()方法的时候,会调用输出“B”,这样,便是Java中的“多态”。我们称其为“向上转型”。
但是,如果B中还有其他方法的时候,A型的a是不能调用其方法的,必须将a通过强制类型转换转成B型才可以调用。我们称其为“向下转型”。
与此同时,如果是一个A a = new A();这种正常的实例化的时候,对其进行向下转型,在Eclipse中和编译是不报错的,但是程序运行起来后会报一个ClassCastException错误,这种在程序运行期间进行类型检查的机制称为“RTTI”(Runtime Type Identify,运行时类型识别)。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。