java多态猫狗吃骨头_javaSE学习(6):面向对象:多态的两个经典案例(猫狗案例和南北方人案例)...
1.猫狗多态案例
/*
2019年5月19日9点48
@author 潇雷
猫狗案例多态版:
*/
class Animal{
public void eat(){
System.out.println("吃饭!");
}
}
class Dog extends Animal{
public void eat(){
System.out.println("狗吃肉!");
}
public void watchHome(){
System.out.println("狗看家");
}
}
class Cat extends Animal{
public void eat(){
System.out.println("猫吃鱼");
}
public void playGame(){
System.out.println("猫捉迷藏!");
}
}
class DuoTaiTest{
public static void main(String[] args)
{
//定义成狗
Animal a=new Dog();
a.eat();//只能调用eat
System.out.println("--------");
//还原成狗
Dog d=(Dog)a;
d.eat();
d.watchHome();
System.out.println("--------");
//变成猫
a=new Cat();//a指向了新创建的猫的地址
a.eat();
System.out.println("--------");
//还原成猫
Cat c=(Cat) a;
c.eat();
c.playGame();
}
}
2.南北方人饮食文化差异案例
/*
南北方人饮食文化不同的案例
@author 潇雷 时间2019年5月19日10:05
*/
class Person {
public void eat(){
System.out.ptintln("吃饭");
}
}
class SouthPerson extends Person{
public void eat(){
System.out.ptintln("炒个小菜吃吃~");
}
public void business(){
System.out.ptintln("南方人爱经商~");
}
}
class NorthPerson extends Person{
public void eat(){
System.out.ptintln("顿锅菜吃吃~");
}
public void study(){
System.out.ptintln("北方人爱学习~");
}
}
class DuoTaiTest2{
public static void main(String[] args){
//测试
person p=new SouthPerson();
p.eat();//运行看右边,打印出南方人的饮食:炒个小菜吃吃
System.out.println("-------");
SouthPerson sp=(SouthPerson)p;
sp.eat();
sp.business();
System.out.println("-------");
//北方人
p=new NorthPerson();
p.eat();
System.out.println("-------");
//转回北方人
NorthPerson np=(NorthPerson)p ;
np.study();
}
}
java多态猫狗吃骨头_javaSE学习(6):面向对象:多态的两个经典案例(猫狗案例和南北方人案例)...相关推荐
- day8 Java学习(面向对象.多态接口)
面向对象 多态: 概述:事物存在的多种形态. 多态前提: *要有继承关系 *要有方法重写 *要有父类引用指向子类对象. 成员变量访问: 编译看左边(父类),运行左边(父类) ...
- 174 多态案例/猫和狗
174 多态案例/猫和狗 思路 动物类,变量/姓名 年龄,构造方法/无参的 带参的,成员方法/getter setter 吃饭 猫类,继承动物类,构造方法/无参的 带参的,成员方法/重写吃饭方法 狗类 ...
- Java核心知识:面向对象-多态
目录 什么是多态 多态中成员变量和方法的调用 对象转型 instanceof 什么是多态 多态是面向对象的三大特征之一. 通俗来讲,多态是同一个行为具有多个不同表现形式或形态的能力.比如同样是动物叫, ...
- 178 抽象类案例/猫和狗
178 抽象类案例/猫和狗 思路 动物类,变量/姓名 年龄,构造方法/无参的 带参的,成员方法/getter setter 吃饭 猫类,继承动物类,构造方法/无参的 带参的,成员方法/重写吃饭方法 狗 ...
- 抽象类:案例:猫和狗
抽象类:案例:猫和狗 需求:请采用抽象类的思想实现猫和狗的案例,并在测试类中进行测试 1 定义动物类 package com.itheima_02; /* 抽象类 */ public abstract ...
- 案例 猫狗跳高 java 1614102273
案例 猫狗跳高 java 1614102273 案例信息 实现 来一个接口 抽象的动物类 猫类继承与实现 测试类 接口多态与抽象类多态 对象只能调对应的方法(接口类或抽象类中的)
- 一位老农带着猫、狗、鱼过河,河边有一条船,每次老农只能带一只动物过河。当老农不和猫狗鱼在一起时,狗会咬猫,猫会吃鱼,当老农和猫狗鱼在一起时,则不会发生这种问题。编程解决猫狗鱼过河问题。
import java.util.ArrayList; import java.util.List; import java.util.Random;/*** 一位老农带着猫.狗.鱼过河,河边有一条船 ...
- Java学习笔记_多态/内部类
多态的格式与使用 代码当中体现多态性,其实就是一句话,父类引用指向子类对象 格式: 父类名称 对象名 = new 子类名称(); 或者 接口名称 对象名 = new 实现类名称(); public c ...
- 【训练4】猫吃鱼,狗吃肉(匿名内部类)
[训练4]猫吃鱼,狗吃肉 参照下面的代码,创建Animal类的匿名子类对象,重写eat()方法,执行该方法后会在控制台打印"猫吃鱼,狗吃肉"字样. /*[训练4]猫吃鱼,狗吃肉* ...
最新文章
- 安卓网页广告拦截_拦截烦人的网页广告,增加上网体验
- 剑指offer之21-25题解
- mysql 代码怎么优化_Mysql性能优化
- 如何修改product base category
- 硬盘结构及硬盘错误的解决方法(一)
- 给正在努力的您几条建议(附开源代码)
- python双除_python2和python3 中的除法的区别
- vue 父链和子组件索引_vue子组件和父组件双向绑定的几种方案
- 计算机网络课程计划,计算机网络教学计划2017
- 进制转换中dbho是什么意思_什么是网段?二进制十进制如何互相转换?看完这篇,你就全明白了...
- 英语四级关于计算机阅读理解,英语四级阅读模拟训练附答案和精讲 第6篇:学习计算机...
- 实验3 OpenGL几何变换
- 以太坊源码分析:共识(1)矿工
- c语言中宽字节,fgetwc读取的是宽字节么?
- 简单WEB登录页面代码实现
- 用php编写室友通讯录_使用 XML 和 PHP 创建一个更具适应性的电话簿和通讯录
- Optitrack光学动作捕捉
- 酷比魔方iwork1x i30双系统版,重装单Ubuntu 20.04系统记录(重力传感器、触摸屏、启动菜单、声卡问题、优化充电慢)
- 《智慧书》格言271-280
- CmakeList中加入OpenCV编译项