Java 中的多态,一次讲个够之接口实现关系中的多态
上文还没有写完,这一篇继续
Java 中的多态,一次讲个够之继承关系中的多态
https://www.cnblogs.com/qianjinyan/p/10824576.html
接口实现关系,和继承区别不是很大,
接口和继承从定义上,无非一个对象能实现两个接口,解决了子类只能单继承的问题
先来两个接口,一个是动物类,一个是哺乳动物类,先不要管这两个类的关系,这就是没有相互关系的两个接口
public interface Animal {
void eat();
void work();
}
public interface Mammal {
}
public class Cat implements Animal,Mammal{
public void eat() {
System.out.println("===我是猫咪我要吃鱼");
}
public void work() {
System.out.println("===我是猫咪我负责抓老鼠");
}
public int numberOfLegs(){
return 4;
}
}
public class Dog implements Animal,Mammal {
@Override
public void eat() {
System.out.println("====我是小狗我要吃骨头");
}
@Override
public void work() {
System.out.println("====我是小狗我负责看家");
}
public void travel(){
System.out.println("Dog travels");
}
public int numberOfLegs(){
return 4;
}
}
public class Chicken implements Animal {
public void eat() {
System.out.println("===我是鸡仔我要吃粗粮");
}
public void work() {
System.out.println("===我是鸡仔我负责下蛋");
}
public int numberOfLegs(){
return 2;
}
}
测试类:
public class TestM {
public static void main(String args[]){
Cat m = new Cat();
m.eat();
m.work();
int number =m.numberOfLegs();
System.out.println(number);
Animal animal = new Cat();
animal.eat();
animal.work();
int animalnumber =((Cat)animal).numberOfLegs();
System.out.println(number);
Mammal mammal = new Cat();
((Cat)mammal).eat();
((Cat)mammal).work();
int mammalnumber =((Cat)mammal).numberOfLegs();
System.out.println(number);
Animal ch = new Chicken();
ch.eat();
ch.work();
int ch_legs =((Chicken)ch).numberOfLegs();
System.out.println(ch_legs);
}
}

Java 中的多态,一次讲个够之接口实现关系中的多态的更多相关文章
- java 接口实现关系下的多态
2019独角兽企业重金招聘Python工程师标准>>> 多态: 父类的引用类型变量指向了子类的对象 或者 是接口类型的引用类型变量指向了接口实现类的对象. 实现关系下的多态: ...
- 《Entity Framework 6 Recipes》中文翻译系列 (41) ------ 第七章 使用对象服务之标识关系中使用依赖实体与异步查询保存
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-7 标识关系中使用依赖实体 问题 你想在标识关系中插入,更新和删除一个依赖实体 ...
- JAVA_SE基础——50.接口关系下的多态
接口关系下的多态和继承关系下的多态 相差无几,应该更简单些~ 多态: 父类的引用类型变量指向了子类的对象或者是接口类型的引用类型变量指向了接口实现类 的对象. 实现关系下的多态: 接口 变量 = ...
- Postman-----将 A 请求中 response Body 中的参数值传入到下一个请求 B 的 request body 中作为参数发送请求
问题:将A接口中response body的"id"传入到B接口的request body中. 解决办法: 1.在A接口的test中设置环境变量. 代码:var data = JS ...
- dgraph解决社交关系中的正反向查找
dgraph解决社交关系中的正反向查找 本篇介绍的是, 社交关系中的关注者与被关注者在dgraph中如何实现查找. 对dgraph的基本操作不太清楚的可以看看我之前写的博客 dgraph实现基本操作 ...
- hibernate 一对多关系中的孤儿属性
@OneToMany(targetEntity = BenefitType.class, mappedBy = "sitePerson",cascade = CascadeType ...
- Java Web快速入门——全十讲
Java Web快速入门——全十讲 这是一次培训的讲义,就是我在给学生讲的过程中记录下来的,非常完整,原来发表在Blog上,我感觉这里的学生可能更需要. 内容比较长,你可以先收藏起来,慢慢看. 第一讲 ...
- java锁与监视器概念 为什么wait、notify、notifyAll定义在Object中 多线程中篇(九)
在Java中,与线程通信相关的几个方法,是定义在Object中的,大家都知道Object是Java中所有类的超类 在Java中,所有的类都是Object,借助于一个统一的形式Object,显然在有些处 ...
- 【Java并发编程】6、volatile关键字解析&内存模型&并发编程中三概念
volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...
随机推荐
- linux EXT4格式分区扩容
1.查看现有的分区大小 2.关机增加磁盘大小为100G 3.查看磁盘扩容后状态 lsblk或dh -TH 4.进行分区扩展磁盘,保留根目录的起止位置. 5.删除根分区,不要保存 6.创建分区, ...
- 【WPS单元格】汉字转拼音的方法
昨晚休息的时候,赵 sir发来消息,突然有急事,需要把大批量的单元格汉字名字转换为拼音.迅粗略搜了下百度,发现office Excel 是很方便的,而赵 sir电脑装的是wps.百度了下,发现关于WP ...
- 心の壁 From EOE:Air / 真心为你
https://www.bilibili.com/bangumi/media/md10272/ 真嗣:我问你. 凌波:什么? 真嗣:梦到底是什么呢? 凌波:梦? 真嗣:我不太明白什么是现实. 凌波:你 ...
- Vue双向数据绑定简易实现
一.vue中的双向数据绑定主要使用到了Object.defineProperty(新版的使用Proxy实现的)对Model层的数据进行getter和setter进行劫持,修改Model层数据的时候,在 ...
- mysql 开启log-bin功能
今天搜索了一下增量备份脚本,简单查了一下,增量备份是通过mysql binlog来做的,就是将某段时间内的操作,保存到某二进制日志当中.备份就是备这个日志,恢复也是通过它.然鹅,这里我们需要先开启 ...
- Java面试 - 在Java中, 既然构造方法是一个方法,那么为什么不使用void 定义呢?
Java程序编译器是根据代码结构来进行编译处理的,执行的时候也是根据代码结构来处理的. 如果在构造方法上使用void,那么此结构就会与普通方法的结构相同,这样编译器会认为此方法是一个 普通方法,而普通 ...
- c#,绝对值
Console.WriteLine("输入任意整数"); var n = int.Parse(Console.ReadLine()); var num = Math.Abs(n); ...
- [转帖]超详细的EXPDP、IMPDP规范及常用技巧总结
超详细的EXPDP.IMPDP规范及常用技巧总结 https://www.toutiao.com/i6727232212850180619/ 原创 波波说运维 2019-08-24 00:06:00 ...
- 如何安装Oracle--新手安装Oracle教程
1. 将win32_11gR2_database_1of2.zip与win32_11gR2_database_1of2.zip 解压到当前目录 PS:选中两个压缩包后右键解压到当前文件夹:必须同时解压 ...
- SAS学习笔记44 宏函数
类SAS函数的宏函数 该部分函数共5个,其无论是名字.语法.功能都与SAS函数类似,只是在函数名前多了一个“%”.这5个宏函数分别是: %INDEX %LENGTH %SCAN %SUBSTR %UP ...