返回顶部
首页 > 资讯 > 精选 >事件委托模式怎么在java项目中实现
  • 893
分享到

事件委托模式怎么在java项目中实现

java事件委托模式ava 2023-05-31 07:05:07 893人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关事件委托模式怎么在java项目中实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java实现事件委托模式的实例详解举例说明:一个班级,有两类学生,A类:不学习,

这篇文章将为大家详细讲解有关事件委托模式怎么在java项目中实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

java实现事件委托模式的实例详解

举例说明:

一个班级,有两类学生,A类:不学习,玩,但是玩的东西不一样,有的是做游戏,与的是看电视(有点不合理)

B类:放哨的学生,专门看老师的动向,如果老师进班了就立即通知大家。

如此就形成了一个需求,放哨的学生要通知所有玩的学生:老师来了,而不同的学生有不同的反应,有的马上把电视关闭,有的停止玩游戏。

设计的要求如下,让A类学生和B类学生完全解耦,即A类完全不知道B类的学生,却可以通知B类的学生。

代码及说明如下:

Event 类,定义了一个事件类:

package lnurd.test; import java.lang.reflect.Method; import java.util.Date; public class Event {  //要执行方法的对象  private Object object;  //要执行的方法名称  private String methodName;  //要执行方法的参数  private Object[] params;  //要执行方法的参数类型  private Class[] paramTypes;  public Event(){  }  public Event(Object object,String methodName,Object...args){   this.object=object;   this.methodName=methodName;   this.params=args;   contractParamTypes(this.params);  }  //根据参数数组生成参数类型数组  private void contractParamTypes(Object[] params){   this.paramTypes=new Class[params.length];   for(int i=0;i<params.length;i++){    this.paramTypes[i]=params[i].getClass();   }  }  public Object getObject() {   return object;  }       //若干setter getter省略  public void setParamTypes(Class[] paramTypes) {   this.paramTypes = paramTypes;  }  //执行该 对象的该方法  public void invoke() throws Exception{   Method method=object.getClass().getMethod(this.getMethodName(), this.getParamTypes());   if(null==method){    return;   }   method.invoke(this.getObject(), this.getParams());  } } 

--结束END--

本文标题: 事件委托模式怎么在java项目中实现

本文链接: https://lsjlt.com/news/224208.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 事件委托模式怎么在java项目中实现
    这篇文章将为大家详细讲解有关事件委托模式怎么在java项目中实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java实现事件委托模式的实例详解举例说明:一个班级,有两类学生,A类:不学习,...
    99+
    2023-05-31
    java 事件委托模式 ava
  • 怎么在JavaScript中实现事件委托
    怎么在JavaScript中实现事件委托?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。事件委托利用事件冒泡,指定一个事件处理程序,管理一系列的所有事件事件委托利用DOM元素...
    99+
    2023-06-15
  • jQuery中怎么实现事件委托
    jQuery中怎么实现事件委托,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。javascript的事件模型,采用"冒...
    99+
    2024-04-02
  • JavaScript中怎么实现事件委托
    JavaScript中怎么实现事件委托,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。事件是对象发送的消息,以发信号通知操作的发生。委托是可...
    99+
    2024-04-02
  • ios委托模式怎么实现
    本篇内容介绍了“ios委托模式怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Cocoa Touch框架下使用大量使用委托(deleg...
    99+
    2023-07-05
  • js中的事件委托怎么实现
    在JavaScript中,可以通过事件委托来简化事件处理程序的绑定和管理。事件委托是将事件处理程序绑定到其父元素,然后通过冒泡机制来...
    99+
    2023-09-29
    js
  • Javascript 中怎么实现事件流和事件委托
    今天就跟大家聊聊有关Javascript 中怎么实现事件流和事件委托,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。javascript 事件流和事件...
    99+
    2024-04-02
  • JavaScript中怎么实现事件代理和委托
    JavaScript中怎么实现事件代理和委托,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JavaScript事件代理首先介绍...
    99+
    2024-04-02
  • JS中如何实现事件委托
    这篇文章主要介绍了JS中如何实现事件委托,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。事件委托(也叫事件代理),其实这个问题也简单,要想弄明...
    99+
    2024-04-02
  • 怎么在c#中利用委托事件实现多线程通信
    本篇文章为大家展示了怎么在c#中利用委托事件实现多线程通信,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在研究c# 线程之间通信时,发现传统的方法大概有三种:全局变量,由于同一进程下的多个进程之间共...
    99+
    2023-06-14
  • 怎么在Java项目中实现一个策略模式
    怎么在Java项目中实现一个策略模式?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。策略模式指:策略模式指将程序中可变部分抽象分离成一系列的算法,并将每一个算法封装起来,而且...
    99+
    2023-05-31
    java ava 策略模式
  • 怎么在java项目中实现一个单例模式
    这篇文章将为大家详细讲解有关怎么在java项目中实现一个单例模式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java设计模式之单例模式定义:如果一个类始终只能创建一个实例,那么这个类被称为...
    99+
    2023-05-31
    java 单例模式 ava
  • C#中怎么使用委托和事件
    在 C# 中,委托和事件是一种常用的机制,用于实现事件驱动的编程模型。委托是一种类型,用于存储对方法的引用,而事件是委托的一种特殊用...
    99+
    2024-03-06
    C#
  • 怎么在Java项目中实现一个观察者模式
    怎么在Java项目中实现一个观察者模式?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。观察者模式:对象间的一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象(被观察)。...
    99+
    2023-05-31
    java 观察 观察者模式
  • C#中如何实现事件和委托的编译
    这篇文章给大家分享的是有关C#中如何实现事件和委托的编译的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。C#事件和委托的编译需求操作C#事件时,有时会得到编译错误:事件“Delegate.GreetingManag...
    99+
    2023-06-18
  • 怎么在Java项目中实现一个工厂方法模式
    本篇文章为大家展示了怎么在Java项目中实现一个工厂方法模式,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其...
    99+
    2023-05-31
    java 工厂方法模式 ava
  • 怎么在Java项目中实现一个简单工厂模式
    今天就跟大家聊聊有关怎么在Java项目中实现一个简单工厂模式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。简单工厂模式解释:     ...
    99+
    2023-05-31
    简单工厂模式 java ava
  • 责任链模式如何在Java项目中实现
    这期内容当中小编将会给大家带来有关责任链模式如何在Java项目中实现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。责任链模式责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的...
    99+
    2023-05-31
    java 责任链模式 ava
  • 在java项目中实现工厂模式的方法
    在java项目中实现工厂模式的方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。java 工厂模式的实例详解工厂方法中的“工厂”和我们平常理解的一样:用于生产产品。而客户是要和...
    99+
    2023-05-31
    java 工厂模式 ava
  • 迭代器模式如何在java项目中实现
    迭代器模式如何在java项目中实现 ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java 迭代器模式实例详解首先,为什么使用迭代器模式,目的就是通过一个通用的迭代方法,隐...
    99+
    2023-05-31
    java 迭代器模式 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作