Android学习第八天----java中的向上转型和向下转型

向上转型可以理解为子类转成父类型的;

例如:

class A{}

class B extends A{}

A a = new B()

这样就是向上类型转换,这个过程是自动进行的,不必程序员去特意的执行。

通俗来讲,可以这么理解: Shape s = new Circle();

通过父类的引用来使用子类的对象;

B b = new B();

A a = b;

a.play();

 

为什么父类的对象可以引用子类对象:

自动实现向上转型,父类的引用可以使用子类中的方法

a.play()执行的是父类还是子类的方法?、

是执行子类的方法,根据a引用所指向的对来来判断是父类的方法还是子类的方法。

 

不能将子类引用指向父类对象,

B b = new A();这样是不行的,

如果要向下转型的话是要进行强转型的,也就是说

B b = new B();

A a = b;

B bb = (B)b;进行向下强转

posted @ 2013-03-13 21:40  小三小山  阅读(308)  评论(0编辑  收藏  举报