其他分享
首页 > 其他分享> > 对象的向下转型和用instanceof关键字进行类型判断

对象的向下转型和用instanceof关键字进行类型判断

作者:互联网

对象的向下转型

 

 

//向下转型进行“还原”动作

Cat cat = (cat) animal;

cat.catchMouse(); // 猫抓老鼠

用instanceof关键字进行类型判断

父类

public class Fu {
    public void eat(){
        System.out.println("吃鱼");
    }
}

子类

    public class Zi extends Fu{
        public void eat(){
            System.out.println("吃鱼");
        }
        public void catchMouse(){
            System.out.println("看门");
        }
    }
public class dog extends Fu{
    public void eat(){
        System.out.println("SHIT");
    }
    public void watchHouse(){
        System.out.println("看家");
    }
}

测试类

public class text {
    public static void main(String[] args) {
        Fu fz = new Zi();
        fz.eat();

        if (fz instanceof dog) {
            dog dog = (dog) fz;
            dog.watchHouse();
         }

        if (fz instanceof Zi) {
            Zi zi = (Zi) fz;
            zi.catchMouse();
        }
        giveMeAPet(new dog());
}

    public static void giveMeAPet (Fu fu) {
        if (fu instanceof dog) {
            dog g = (dog) fu;
            g.watchHouse();
        }
        if ( fu instanceof Zi){
            Zi zi = (Zi) fu;
            zi.catchMouse();
    }
}

 

标签:instanceof,Zi,void,dog,fz,关键字,向下,public
来源: https://www.cnblogs.com/yuzong/p/16443060.html