java学生喂养宠物
1、创建动物类
package c02.s01.p05;/*** 功能:动物类* 作者:hf* 日期:2022年05月05日*/
public class Animal {private String name;private 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 speak() {System.out.println(name + "今年" + age + "岁了。");}public void move() {System.out.println(name + "在动……");}public void eat() {System.out.println(name + "在吃……");}@Overridepublic String toString() {return "Animal{" +"name='" + name + '\'' +", age=" + age +'}';}
}
2、继承动物类,创建猫类
package c02.s01.p05;/*** 功能:猫类* 作者:hf* 日期:2022年05月05日*/
public class Cat extends Animal {/*** 子类改写父类的同名同参方法(纵向多态)*/@Overridepublic void move() {System.out.println("猫咪[" + getName() + "]在走路。");}/*** 子类改写父类的同名同参方法(纵向多态)*/@Overridepublic void eat() {System.out.println("猫咪[" + getName() + "]爱吃鱼虾。");}/*** 子类添加新的方法*/public void play() {System.out.println("猫咪[" + getName() + "]在玩老鼠。");}
}
3、继承动物类,创建狗类
package c02.s01.p05;/*** 功能:猫类* 作者:hf* 日期:2022年05月05日*/
public class Dog extends Animal {/*** 子类改写父类的同名同参方法(纵向多态)*/@Overridepublic void move() {System.out.println("狗崽[" + getName() + "]在蹦跳。");}/*** 子类改写父类的同名同参方法(纵向多态)*/@Overridepublic void eat() {System.out.println("狗崽[" + getName() + "]爱吃骨头。");}/*** 子类添加新的方法*/public void play() {System.out.println("狗崽[" + getName() + "]在玩飞盘。");}
}
4、继承动物类,创建鸟类
package c02.s01.p05;/*** 功能:鸟类* 作者:hf* 日期:2022年05月05日*/
public class Bird extends Animal {/*** 子类改写父类的同名同参方法(纵向多态)*/@Overridepublic void move() {System.out.println("鸟儿[" + getName() + "]在飞翔。");}/*** 子类改写父类的同名同参方法(纵向多态)*/@Overridepublic void eat() {System.out.println("鸟儿[" + getName() + "]爱吃小虫。");}/*** 子类添加新的方法*/public void play() {System.out.println("鸟儿[" + getName() + "]在玩羽毛。");}
}
5、创建学生类
package c02.s01.p05;/*** 功能:* 作者:hf* 日期:2022年05月05日*/
public class Student {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public void feed(Animal animal) {animal.speak(); // 子类继承父类的方法animal.move(); // 体现多态(子类改写了父类的同名同参方法)animal.eat(); // 体现多态(子类改写了父类的同名同参方法)if (animal instanceof Cat) { // 判断是否是猫实例System.out.println(name + "喂养猫咪[" + animal.getName() + "]。");Cat cat = (Cat) animal; // Animal向下转型为Catcat.play();} else if (animal instanceof Dog) { // 判断是否是狗实例System.out.println(name + "喂养狗崽[" + animal.getName() + "]。");Dog dog = (Dog) animal; // Animal向下转型为Dogdog.play();} else if (animal instanceof Bird) { // 判断是否是鸟实例System.out.println(name + "喂养鸟儿[" + animal.getName() + "]。");Bird bird = (Bird) animal; // Animal向下转型为Birdbird.play();} else {System.out.println(name + "喂养动物[" + animal.getName() + "]。");}}
}
6、创建测试学生类
package c02.s01.p05;/*** 功能:* 作者:hf* 日期:2022年05月05日*/
public class TestStudent {public static void main(String[] args) {// 创建学生对象Student student = new Student();student.setName("张三丰");// 创建第一个动物Animal animal1 = new Cat();animal1.setName("小花");animal1.setAge(4);// 创建第二个动物Animal animal2 = new Dog();animal2.setName("大黄");animal2.setAge(5);// 创建第三个动物Animal animal3 = new Bird();animal3.setName("笨笨");animal3.setAge(3);// 调用学生对象的喂养方法,传入不同的动物对象student.feed(animal1);student.feed(animal2);student.feed(animal3);}
}
7、运行程序,查看结果
java学生喂养宠物相关推荐
- 第一篇博客,java学生管理系统(挑战全网最全)
java学生信息管理系统,(课设必备),附有源码和简版链接 博主虽然技术不高,但是系统写的真的是没话说,留着开学java课设用了. 直接转载链接了,查看系统入口 https://blog.csdn.n ...
- JAVA 学生信息管理系统
java 学生信息管理系统 主要使用的增删改查操作 首先,需要先建一个文件(点击左上角File,选择第一个New里的第一个Java Project) 然后再建一个Javabean包,在这个包里新建一个 ...
- JAVA学生信息管理系统IO流版
JAVA学生信息管理系统IO流版 1. Student类 public class Student implements Serializable{//学号private int sid;//姓名pr ...
- 基于JAVA学生用品采购系统计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA学生用品采购系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA学生用品采购系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- 【附源码】计算机毕业设计JAVA学生公寓管理系统
[附源码]计算机毕业设计JAVA学生公寓管理系统 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...
- java课程管理系统_基于JAVA学生课程管理系统.doc
您所在位置:网站首页 > 海量文档  > 计算机 > Java 基于JAVA学生课程管理系统.doc62页 本文档一共 ...
- 计算机毕业设计Java学生网上请假系统(源码+系统+mysql数据库+Lw文档)
计算机毕业设计Java学生网上请假系统(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java学生网上请假系统(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S架构 ...
- 计算机毕业设计Java学生心理健康信息咨询系统(源码+系统+mysql数据库+Lw文档)
计算机毕业设计Java学生心理健康信息咨询系统(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java学生心理健康信息咨询系统(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目 ...
- 基于JAVA学生健康管理系统计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA学生健康管理系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA学生健康管理系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
最新文章
- pygame做一个简单的打字游戏
- SpringMVC获取请求参数-集合类型
- spring-cloud 学习三 服务提供者
- quartus状态机生成_生成器作为(快速失败)状态机
- 系统启动 之 Linux系统启动概述(1)
- 30 | 答疑文章(二):用动态的观点看加锁
- 2020第一本书《自私的基因》
- 计算机自检报错无法开机,电脑开机不自检无显示是怎么回事?
- MoveIt2——4.机器人模型和机器人状态
- 移动端框架之mand-mobile
- CS229 --Lecture1 Introduction
- 传奇脚本显示服务器开区时间代码,GOM引擎该地图只限新区开放方法,传奇开区时设置老区不能进脚本...
- linux怎么下载安装软件
- gsoc 任务_黑客#GSOC:如何获得现实生活经验并支持开源
- Windows10 WIFI蓝牙图标消失,网卡驱动出现感叹号等无法上网的情况解决方案
- 古典密码-凯撒加密和解密
- 01入门-ThreadLocal详解-并发编程(Java)
- FDTD Solutions v2.2 1CD+ASAP
- 阿里云登录界面无法输入账号及密码的解决方法
- 计算机科学与技术专业软考考什么,为什么大家都考软件水平考试_为什么大家都考软考_软考到底有什么用_课课家...