代码改变世界

Java 向上转型与向下转型

2012-10-26 01:07  coffeescript  阅读(185)  评论(0编辑  收藏  举报

向上转型,即将子类对象转换为父类对象

View Code
1 class A
2 {
3     A()
4 }
5 class B extends A
6 {
7     B()
8 }

 

在主函数中

A a=new B();//向上转型

 

此时父类对象a可以访问子类中从父类继承或重写的方法,但无法访问子类新增加的方法。

向下转型即把父类对象转换为子类对象

当父类是子类的实例时

B b=(B)a;//向下转型

 

将父类对象转换为子类对象时,先要判断父类对象是否是子类的实例,如果不是却执行该语句,会抛出ClassCastException异常.即类转型异常.

向下转型需要强制转换。

向下转型之前需要先进行向上转型。