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();
}
}
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
- Java——java多态
- Java——多态
- java——多态
- Java——多态
- java——多态
- Java——多态
- JAVA——多态
- Java——多态
- JAVA——多态
- java——多态
- 多态——Java
- Java基础知识—多态
- java读书笔记——多态
- JAVA多态——另解
- java基础——多态
- JavaSE——Java多态
- Java SE——多态
- JAVA学习——多态
- 壳的编写(3)-- 编写壳(Stub)部分(2)
- 聚类算法:凝聚层次聚类
- 如何使进程不被360软件Kill掉?(解决方案)
- 延长启动页时间
- squid,nginx,lighttpd反向代理的区别
- Java——多态
- iOS UIView动画详解(Objective-C)
- jmeter学习 二
- putty访问openssh 6.6.1访问拒绝
- AngularJs基础——自定义服务的三种方法以及provider供应商
- lightning mdb 源代码分析(5)-事务控制
- 如何用cmd命令控制mysql数据库
- 第十个项目
- Android学习笔记--ListView的三种使用方式