/*
*/
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();
}
}
}
继承(instanceof :比较运算符;不仅运行父类方法,也运行子类独有的方法)
最新推荐文章于 2022-02-10 14:18:56 发布