/**/
class Animaldome{public void eat(){}public void sleep(){}
}class Cat extends Animaldome{public void eat(){ System.out.println("我是猫咪,能吃饭"); }public void sleep(){ System.out.println("我是猫咪,我能睡觉");}public void play(){ System.out.println("我能打仗");}}
class Dog extends Animaldome{public void eat(){System.out.println("我是狗狗,我能吃狗粮");}public void sleep(){System.out.println("我是狗狗,我能睡觉");}public void go(){System.out.println("我能跑步");}}public class DogAndCatDome {public static void main(String[] args){os(new Cat());//Animaldome a = new Cat;os(new Dog());}public static void os(Animaldome a){a.eat();a.sleep();// Cat c = (Cat) a; //强制类型升级后,返回原有级别,调用子类自己的方法
// c.play();
//
// Dog d = (Dog) a; // ClassCastException 类型转换异常
// d.go();if (a instanceof Cat){ //instanceof:比较运算符Cat c = (Cat) a;c.play();}if (a instanceof Dog){Dog d = (Dog) a;d.go();}}}