Java多态中的向上转型和向下转型

向上转型:将一个父类的引用指向一个子类对象,称为向上转型,自动进行类型转换

    用法: Father f = new Son();

向下转型:子类引用指向父类引用的子类对象  通俗的说就是子类实例对象赋值给父类引用,然后父类引用又要赋值给子类引用,这个过程就是向下转型。

  语法:

Father f = new Son();
Son s = (Son)f; //看语法,要有(类型)
   

 

ps:

a、向上转型后,父类引用只能调用与子类共有的实例方法与实例变量,子类独有的实例变量与实例方法将不能调用。多态:动态绑定知识点哈。不明白就自己敲一遍。你看看能不能发消息!!!(通过引用调用方法,也称为向实例对象发送一个消息)

b、注意向下转型的前提条件:首先父类引用指向一个子类实例对象。。。。这样绝对不可以Father father = new Father(); Son s = (son)father; 不好意思,直接抛给你ClassCastException!!即父类实例对象绝对不能强制转换为子类的实例对象。

你可能感兴趣的:(Java多态中的向上转型和向下转型)