对象类型的转换

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

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;
    }
}

你可能感兴趣的:(学习安卓那些事)