Pet类

package com.aaa.adv;
/*** 父类:宠物类* @author 张晨光**/
public class Pet {//成员变量private String name;private int health;//public Pet(){}//构造public Pet(String name, int health) {super();this.name = name;this.health = health;}//生成getter/setter;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getHealth() {return health;}public void setHealth(int health) {this.health = health;}//增加一个方法:eatpublic void eat(){System.out.println("宠物类开始虚拟的吃");}//针对公共的方法,一定要学会提取出来public void eat(String food){System.out.println(this.getName()+"吃"+food);}}

Cat类

package com.aaa.adv;public class Cat extends Pet {public Cat(String name, int health) {super(name, health);}}

Dog类

package com.aaa.adv;public class Dog extends Pet {public Dog(String name, int health) {super(name, health);// TODO Auto-generated constructor stub}//Dog子类,本身仍然保留了父类的eat()不带参数的方法//子类,增加了一个参数;不再是重写的方法;
//  public void eat(String food){
//      System.out.println("小狗吃"+food);
//  }
}

Parrot类

package com.aaa.adv;
/*** 鹦鹉类* @author 张晨光**/
public class Parrot extends Pet {public Parrot(String name, int health) {super(name, health);}}

Rat类

package com.aaa.adv;public class Rat extends Pet {public Rat(String name, int health) {super(name, health);// TODO Auto-generated constructor stub}}

Master类

package com.aaa.adv;
/*** 主人类:姓名 性别 地址 电话 ,本身是不是没有食物的属性;* @author 张晨光**/
public class Master {//成员变量;//喂养狗;方法(动物,食物)
//  public void feed(Dog dog,String food){
//      dog.eat(food);
//  }//喂养猫
//  public void feed(Cat cat,String food){
//      cat.eat(food);
//  }//要喂养鹦鹉,需要再次增加鹦鹉的喂养方法;
//  public void feed(Parrot par,String food){
//      par.eat(food);
//  }//上面的两个方法,就是上次课说的方法的重载;重载在一个类里面;重写多个类;public void feed(Pet pet,String food){pet.eat(food);}public static void main(String[] args) {//maindog cat自动去eat;Dog dog=new Dog("旺财狗",100);Cat cat=new Cat("花脸猫",100);//增加一个主人类;主人来喂养狗和猫.Master master=new Master();master.feed(dog,"排骨");master.feed(cat,"猫粮");//***********增加Parrot p=new Parrot("金刚 ",100);master.feed(p, "瓜子");Rat rat=new Rat("米老鼠",100);master.feed(rat, "木屑");}}

图示:

java宠物店多态源代码相关推荐

  1. java计算机毕业设计乐多多宠物店网站源代码+数据库+系统+lw文档

    java计算机毕业设计乐多多宠物店网站源代码+数据库+系统+lw文档 java计算机毕业设计乐多多宠物店网站源代码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...

  2. Java中 多态的理解

    ** Java中 多态的理解 ** 多态官方定义为: 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指 ...

  3. 深入Java核心 Java中多态的实现机制(1)

    在疯狂java中,多态是这样解释的: 多态:相同类型的变量,调用同一个方法时,呈现出多中不同的行为特征, 这就是多态. 加上下面的解释:(多态四小类:强制的,重载的,参数的和包含的) 同时, 还用人这 ...

  4. Java继承多态经典案例分享

    今天动力节点java培训机构小编为大家分享Java继承多态经典案例,希望通过此文能够帮助到大家,下面就随小编一起看看Java继承多态经典案例. public class A { public Stri ...

  5. 猫、狗与Java的多态

    多态(Polymorphism)按字面的意思就是"多种状态".在面向对象语言中,接口的多种不同的实现方式即为多态.引用Charlie Calverts对多态的描述--多态性是允许你 ...

  6. java面向对象多态特性

    一.多态的概念 多态是继封装,继承之后,面向对象的三大特性. 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的张三同学既是学生也是人,即出现两种形态. java作为面向对象的语言,同 ...

  7. java对多态的理解_对于Java中多态的理解

    所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个 ...

  8. java rtree源码_rtree R树用java实现的源代码,欢迎广大用户学习交流 Applet 272万源代码下载- www.pudn.com...

    文件名称: rtree下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 159 KB 上传时间: 2017-03-14 下载次数: 0 提 供 者: 伊恩泽 详细 ...

  9. java中多态_java之多态

    1.多态的概述:是面向对象的三大特性之一,封装.继承.多态. ①一个具体的对象有多种形态,老虎既属于猫科动物(因为子父类是相对的,所以猫科动物也可以看做子类),又属于哺乳动物,所以老虎既可以拥有猫科动 ...

最新文章

  1. springboot之异步调用@Async
  2. 支付宝 php rsa算法,:PHP支付宝接口RSA验证
  3. python中while嵌套循环_python中的while循环
  4. Docker网络详解——原理篇
  5. redis+celery+django设置外网可访问
  6. 飞秋教程:日程安排记事提醒
  7. Nagios(八)—— Nagios Web 端管理工具Nagiosql
  8. 二叉树层级遍历_二叉树中的层级顺序遍历
  9. 【Scratch案例实操】scratch大鱼吃小鱼(完整详案) scratch编程案例教学 scratch创意编程 少儿编程教案
  10. R语言中常用的生物多样性指数的计算(Alpha,Beta,Gamma,功能多样性,系统发育多样性)
  11. php 中 normdist,说明 Excel 中的 NORMDIST 函数
  12. 学生成绩录入及查询(C语言)-PTA
  13. Java读写json
  14. sku设计mysql_SKU数据库设计
  15. 2.6 实战天猫数据爬取
  16. php slug,php 中的var
  17. web前端性能(一)
  18. Dynamics 365Online 使用adal.js注册和配置SimpleSPA应用程序
  19. php实现tcp连接esp8266,【零知ESP8266教程】WIFI TCP协议通信 TCP客户端示例
  20. EFCore中的主键

热门文章

  1. 拨号云服务器怎么自动配置网关_如何解决路由器静态IP+PPPoE拨号双链路负载分担问题...
  2. mysql优化学习笔记
  3. 算法训练营07-递归使用练习
  4. 1003 我要通过! (20分)_26行代码AC
  5. java内部类的特点
  6. 了解TCP协议,IP协议、ICMP协议和ARP协议(TCP报文,TCP的分成管理,TCP与UDP,TCP的三次握手四次挥手原理)
  7. MyEclipse里更改字体大小和快捷建的设置
  8. 12 c for. oracle rac,【案例】Oracle RAC FOR AIX搭建执行root.sh时两次报错的解决办法
  9. kubectl 创建pvc_k8s的持久化存储PVPVC
  10. js新建list_制作一个基于node的todo-list工具,并发布至npm