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;进行向下强转