您的位置:首页 > 编程语言 > Java开发

Java——多态

2016-01-04 16:37 459 查看
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();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 多态