Java代码

  1. package com.iteye.badpie.javacode.duotai;
  2. /**
  3. * 人民警察
  4. */
  5. public interface IPolice {
  6. /**
  7. * 抓小偷
  8. */
  9. public void catchThief();
  10. }

package com.iteye.badpie.javacode.duotai;/*** 人民警察*/
public interface IPolice {/*** 抓小偷*/public void catchThief();}
Java代码
  1. package com.iteye.badpie.javacode.duotai;
  2. /**
  3. * 一个警察,执行抓小偷任务.
  4. */
  5. public class PoliceReal implements IPolice {
  6. @Override
  7. public void catchThief() {
  8. System.out.println("抓住小偷了");
  9. }
  10. }

package com.iteye.badpie.javacode.duotai;/*** 一个警察,执行抓小偷任务.*/
public class PoliceReal implements IPolice {@Overridepublic void catchThief() {System.out.println("抓住小偷了");}}
Java代码
  1. package com.iteye.badpie.javacode.duotai;
  2. /**
  3. * 另一个警察,也执行抓小偷任务.
  4. */
  5. public class PoliceHyp implements IPolice {
  6. @Override
  7. public void catchThief() {
  8. System.out.println("大冷天的抓什么小偷啊,不如偷个菜.");
  9. }
  10. }

package com.iteye.badpie.javacode.duotai;/*** 另一个警察,也执行抓小偷任务.*/
public class PoliceHyp implements IPolice {@Overridepublic void catchThief() {System.out.println("大冷天的抓什么小偷啊,不如偷个菜.");}}
Java代码
  1. package com.iteye.badpie.javacode.duotai;
  2. /**
  3. * 市民
  4. */
  5. public class Citizen {
  6. private String mName;
  7. public Citizen(String name) {
  8. mName = name;
  9. }
  10. /**
  11. * 市民报案
  12. */
  13. public void report(IPolice police) {
  14. System.out.println(String.format("市民%s丢失手机,向警察报案抓小偷.", mName));
  15. police.catchThief();
  16. }
  17. }

package com.iteye.badpie.javacode.duotai;/*** 市民*/
public class Citizen {private String mName;public Citizen(String name) {mName = name;}/*** 市民报案*/public void report(IPolice police) {System.out.println(String.format("市民%s丢失手机,向警察报案抓小偷.", mName));police.catchThief();}}
Java代码
  1. 市民虽然向警察报了案,
  2. 但你不知道能不能把小偷抓住,
  3. 甚至你都不知道他们有没有去抓小偷,
  4. 还有可能你在电影里看到的剧情真的发生了...

转载于:https://blog.51cto.com/daheyuan/1136591

Java Code之多态相关推荐

  1. JAVA继承和多态详细讲解

    面向对象编程的重要知识:继承和多态.通过类的继承机制,可以使用已有的类为基础派生出新类,无需编写重复的程序代码,很好地实现程序代码复用.多态是面向对象编程中继封装和继承之后的另一大特征,它具体是指同一 ...

  2. SQL to Elasticsearch java code

    把Elasticsearch当成Database用,因为Elasticsearch不支持SQL,就需要把SQL转换成代码实现. 1.按某个field group by查询count SELECT fi ...

  3. 12 Java面向对象之多态

    JavaSE 基础之十二 12 Java面向对象之多态 ① 多态的概念及分类 多态的概念:对象的多种表现形式和能力 多态的分类 1. 静态多态:在编译期间,程序就能决定调用哪个方法.方法的重载就表现出 ...

  4. java中的多态_Java中的多态

    多态与HoFs 朋友们好久不见啊,最近笔者同时在写脚本型语言--JavaScript,和工业级的面向对象语言--Java. 在写代码的同时呢,也会思考这些语言的不同.今天就拿 Java 中的多态,来谈 ...

  5. 何为Java 中的多态?

    Java 中的多态一般分为两种:重写式多态和重载式多态. 重载式多态,也叫编译时多态.也就是说这种多态再编译时已经确定好了.重载大家都知道,方法名相同而参数列表不同的一组方法就是重载.在调用这种重载的 ...

  6. Java Code Convention Rules

    2019独角兽企业重金招聘Python工程师标准>>> Java Code Convention Rules Rules available in this category: Av ...

  7. 20 Very Useful Java Code Snippets

    2019独角兽企业重金招聘Python工程师标准>>> Following are few very useful Java code snippets for Java devel ...

  8. java多态 降低代码耦合性_深度分析:理解Java中的多态机制,一篇直接帮你掌握!...

    Java中的多态 1 多态是什么 多态(Polymorphism)按字面的意思就是"多种状态".在面向对象语言中,接口的多种不同的实现方式即为多态.用白话来说,就是多个对象调用同一 ...

  9. Java学习之 多态 Polymorphism

    Java学习之多态 多态的概念 多态==晚绑定. 不要把函数重载理解为多态. 因为多态是一种运行期的行为,不是编译期的行为. 多态:父类型的引用可以指向子类型的对象. 比如 Parent p = ne ...

最新文章

  1. 《面向模式的软件体系结构2-用于并发和网络化对象模式》读书笔记(7)--- 事件处理模式与反应器...
  2. 光纤交换机如何划分zone
  3. 新手入门深度学习 | 2-2:结构化数据建模流程示例
  4. Thread如何中断
  5. c语言 自动测试,C语言测试。自己实现scandir 函数
  6. InfluxData【环境搭建 02】时序数据库客户端 InfluxCLI 最新版本安装启动验证(在线安装+离线安装及各版本下载地址)
  7. c++ python opencv_ubuntu下C++与Python混编,opencv中mat类转换
  8. 对Hibernate赖加载对象在session容器之外的获取方法
  9. 用虚拟机把ubuntu安装到TF卡上
  10. 编辑视频贴纸软件_视频特效编辑软件下载-视频特效编辑器下载V10.9.93-西西软件下载...
  11. 努力只是因为想去做想做的事
  12. Celery-一个会做异步任务,定时任务的芹菜
  13. 【昇润蓝牙】蓝牙4.0BLE模组(型号CC2541) 两个蓝牙之间互相通信的使用日志
  14. 2020软考软件设计师--基础知识实战培训视频-任铄-专题视频课程
  15. Gps开发实战——卫星数量获取
  16. 中国式危机公关9加1策略(第十三章 建立系统实用的危机管理机制)
  17. 最好的关系,是彼此成就
  18. CentOS7设置笔记本合盖不休眠
  19. 怎么修改手机app服务器数据库,手机app服务器数据库
  20. 有人说程序员是一个很高大上又高不可攀的职业,你认同吗?

热门文章

  1. uva 10673 ——Play with Floor and Ceil
  2. C++中结构体和类的区别和联系
  3. 基于epoll的简单的http服务器
  4. linux下成功安装ffmpeg( 亲测有效 )
  5. 【Computer Organization】The Core Design Thinking of single cycle CPU
  6. HTML如何添加锚点,论程序员成长的正确姿势
  7. php 方法参数传递,在PHP中将实例方法作为参数传递
  8. Linux创建、删除文件和文件夹命令
  9. 集合里面的 E是泛型 暂且认为是object
  10. 约束布局constraint-layout导入失败的解决方案 - 转