接口回调使用加上多态的使用整理
程序员文章站
2024-03-02 15:55:40
...
/*
* 接口回调
*
*/
/*
* 快扩接口
*/
interface Dileatation {
void dileatation ();
}
/*
* 枪托接口
*/
interface Butt {
void butt ();
}
/*
* 消音器接口
*/
interface Silencar {
void silencar ();
}
class M4 extends Gun implements Dileatation,Butt,Silencar {
@Override
public void silencar() {
System.out.println("M4的消音器");
}
@Override
public void butt() {
System.out.println("M4的枪托");
}
@Override
public void dileatation() {
System.out.println("M4的快扩");
}
@Override
public void fier() {
System.out.println("M4biubiubiu");
}
}
class AKM extends Gun implements Silencar,Dileatation{
@Override
public void dileatation() {
System.out.println("AKM的快扩");
}
@Override
public void silencar() {
System.out.println("AKM的消音器");
}
@Override
public void fier() {
System.out.println("AKMdadadadada");
}
}
abstract class Gun {
public abstract void fier();
}
class Person {
String name;
//接口回调 传入消音器
public void use1 (Silencar silencar) {
silencar.silencar();
}
//传入快扩
public void use2 (Dileatation dileatation) {
dileatation.dileatation();
}
public void use3 (Butt butt) {
butt.butt();
}
public void use4 (Gun gun) {
gun.fier();
}
}
//创建Person的子类,方便使用多态,虽然没啥用鸡肋
class Studen extends Person {
}
public class Demo1 {
public static void main(String[] args) {
// 这里是使用的接口回调
// Person person = new Person();
// person.name = "波哥";
// person.use1(new M4());
// person.use2(new M4());
// person.use3(new M4());
// person.use4(new M4());
// System.out.println("---------------");
//
// person.use1(new AKM());
// person.use2(new AKM());
// //不同的接口有隔离性,不能共用
// //person.use3(new AKM);
//
Person p1 = new Studen();
p1.use1(new M4());
p1.use2(new M4());
p1.use3(new M4());
p1.use4(new M4());
System.out.println("分-------------割-----------------线");
p1.use1(new AKM());
p1.use2(new AKM());
p1.use4(new AKM());
}
/*
日常作业,只是觉得有意思就发上来分享一下,若是发现内容有什么问题可以评论指出,灰常感谢
*/
这个是分析的时候方便写代码就弄了一个图出来
推荐阅读
-
接口回调使用加上多态的使用整理
-
Android的Fragment的生命周期各状态和回调函数使用
-
Python函数作用域和匿名函数以及闭包、回调、递归的使用
-
Android的Fragment的生命周期各状态和回调函数使用
-
关于vue-awesome-swiper使用遇到的一些问题和心得(手动设置宽、手机翻转问题、回调函数、滑动)
-
使用fiddler联调本地服务接口的方法
-
在php中使用swoole扩展时,server端的回调函数中如何使用thinkphp框架的方法?
-
关于 python gevent 架框 作为 TCP服务器 的 代码问题 , 每个 socket 的 消息 接收 是否有使用 事件监听回调的方法呢?
-
Web笔记-layerui的基本使用及JavaScript回调函数的写法
-
接口对象的实例化在接口回调中的使用方法