国内网站建设公司,wordpress 不连接外网,先做网站再备案吗,印度网站建设多少钱1.向上转换父类的引用变量指向子类变量时#xff0c;子类对象向父类对象向上转换。从子类向父类的转换不需要什么限制#xff0c;只需直接蒋子类实例赋值给父类变量即可#xff0c;这也是Java中多态的实现机制。2.向下转换在父类变量调用子类特有的、不是从父类继承来的方法…1.向上转换父类的引用变量指向子类变量时子类对象向父类对象向上转换。从子类向父类的转换不需要什么限制只需直接蒋子类实例赋值给父类变量即可这也是Java中多态的实现机制。2.向下转换在父类变量调用子类特有的、不是从父类继承来的方法和变量时需要父类变量向子类转换。为什么要向下转换在继承关系中有一些方法是不适合由父类定义并由子类继承并重写的有些方法是子类特有的不应该通过继承得到且子类可能也会有自己特有的成员变量那么在使用多态机制的时候若我们要通过父类型变量使用到这些子类特有的方法和属性的话就需要将服类型变量转换成对应的子类型变量。一个典型例子便是标准库中的数据类型包装类Integer类Double类Long类等它们都继承自Number类且它们都有一个方法叫做compareTo用于比较两个同样的类型。然而这个方法是这些子类通过实现Comparable接口来实现的在Number类中并没有该方法的实现因此若要通过Number类型变量来使用compareTo方法就要先将Number类转换成子类的对象。注意父类变量向子类转换必须通过显式强制类型转换,采取和向上转换相同的直接赋值方式是不行的并且当把一个父类型变量实例转换为子类型变量时必须确保该父类变量是子类的一个实例从继承链的角度来理解这些原因子类一定是父类的一个实例然而父类却不一定是子类的实例。在进行父类向子类的转换时一个好的习惯是通过instanceof运算符来判断父类变量是否是该子类的一个实例否则在运行时会抛出运行异常ClassCastException表示类转换异常。