Java多态的体现之继承
2016-03-31 21:18
423 查看
/** * * 功能:演示多态 */ package com.litao; public class Demo5 { public static void main(String[] args) { // TODO Auto-generated method stub //体现多态 /*Cat cat1 = new Cat(); cat1.cry(); Dog dog = new Dog(); dog.cry();*/ //自动判断右边引用是什么类型的 //所有子类或孙子类的实例统统让一个父类来引用 // Animal animal = new Cat(); // //如果猫有cry方法,则调猫的cry,否则调Animal的cry // animal.cry(); // // animal = new Dog(); // animal.cry(); Master master = new Master(); master.feed(new Dog(), new Bone()); master.feed(new Cat(), new Fish()); } } //主人类 class Master{ //给动物喂食物 public void feed(Animal an, Food f) { an.eat(); f.showName(); } } class Food{ String name; public void showName() { } } class Fish extends Food{ public void showName() { System.out.println("鱼"); } } class Bone extends Food{ public void showName() { System.out.println("骨头"); } } //动物类Animal class Animal { String name; int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } //动物会叫 public void cry() { System.out.println("不知道怎么叫..."); } public void eat() { System.out.println("不知道喜欢吃什么"); } } class Dog extends Animal { //猫自己叫 public void cry() { System.out.println("旺旺叫"); } //动物可以吃东西 public void eat() { System.out.println("狗喜欢吃骨头"); } } class Cat extends Animal { //猫自己叫 public void cry() { System.out.println("猫猫叫"); } public void eat() { System.out.println("猫喜欢吃鱼"); } }
相关文章推荐
- java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)
- Java_SE05-Comparable,Map接口,队列,栈
- java串行化
- 如何用Java解析CSV文件
- 最近的javascrip学习心得及小心情
- Eclipse设置:背景与字体大小和xml文件中字体大小调整(转载)
- Java技术_Java千百问(0017)_if else如何使用
- Spring学习——(七)声明式事务管理
- Eclipse快捷键大全(转载)
- java文件File,FileMethod知识点总结
- java的锁机制
- Java中IO流中所涉及到的各类方法介绍
- java -jar 命令提示“没有主清单属性”
- spring 学习
- Java四种线程池的使用
- Java中抽象类与接口的区别 | Java基础
- java项目——发邮件之阿里云邮箱推送服务(一)
- java环境变量配置
- Atitit.java相比c#.net的优点 优缺点 v2 q330
- Atitit.java相比c#.net的优点 优缺点 v2 q330