对象的向下转型和用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