Java——多态

来源:互联网 发布:如何入侵网站修改数据 编辑:程序博客网 时间:2024/06/07 17:25
class Pet{                               //宠物类
void cry(){
System.out.println("叫");
}
void eat(){
System.out.println("吃");
}
void say(){
System.out.println("父类特有的方法");
}
}
class Dog extends Pet{                   //狗类
void cry(){
System.out.println("汪汪!!");
}
void eat(){
System.out.println("狗吃了狗粮");
}
void guardEntrance(){
System.out.println("狗在看门");
}
}
class Cat extends Pet{                   //猫类
void cry(){
System.out.println("喵喵~~");
}
void eat(){
System.out.println("猫吃了猫粮");
}
void huntMice(){
System.out.println("猫在抓老鼠");
}
}
public class Test {


public static void main(String[] args) {
Pet pet1=new Dog();            //定义一个狗对象,当成Pet看待,向上转型,默认
Pet pet2=new Cat();            //父类引用指向子类的对象
pet1.cry();
pet2.eat();
// pet1.guardEntrance();          //错误,父类无法引用子类特有的部分

Pet pet3=new Cat();            //向下转型,强制(先向上转型再向下)
Cat cat=(Cat)pet3;             
cat.cry();
cat.eat();
cat.huntMice();
cat.say();
}
}
0 0
原创粉丝点击