对象类型的转换

来源:互联网 发布:直销系统源码 编辑:程序博客网 时间:2024/05/20 04:47

对象类型转换有两种,向上转型和向下转型
向上转型类似于 :猪—>家禽—>动物
平行四边形—>四边形
平行四边形是四边形的一种,可以将平行四边形看作是一个四边形对象。猪看成是动物的对象。

class Quadrangle{//四边形类    public static void draw(Quadrangle q){//四边形方法    }}public class Parallelogram extends Quadrangle{//平行四边形类,继承四边形    public static void main(String args[]){       Parallelogram p=new Parallelogram();//实例化平行四边       draw(p);//调用父类方法    }}

向下转型
理解为:子类是父类的一个实例,但父类不一定子类的实例。
所有的平行四边形都是四边形,但四边形不一定是平行四边形。

class Quadrangle{      public static void draw(Quadrangle q){    }}public class Parallelogram extends Quadrangle{    public static void main(String args[]){        draw(new Parallelogram());//将平行四边形类看作是四边形对象,称为向转型操作        Quadrangle q=new Parallelogram();        //将父类对象赋予子类对象,并强制转换类型为子类类型        Parallelogram p=(Parallelogram)q;    }}
0 0