Java回调方法的设计思路

 1 package com.test;
 2 /**
 3  * 回调方法的设计技巧,例如hibernate的getHibernateTemplate().execute(Handler h)方法
 4  */
 5 public class CallBackTest {
 6     public static void main(String[] args) {
 7         Service s =  new Service() ;
 8         //传入一个匿名的Handler实现类,重载执行的方法
 9         Object object = s.getEntity(new BackHandler() {
10             @Override
11             public Object execue(Event e) {
12                 return e.getName() ;
13             }
14         }) ;
15         System.out.println(object.toString());
16     }
17 }
18 //回调类的实现接口,声明回调执行的方法
19 interface BackHandler{
20     //返回的类型需要和调用的service类方法一致,传入的参数是service类方法传入
21     public Object execue(Event e) ;
22 }
23 //service类
24 class Service{
25     //传入Handler类型参数
26     public Object getEntity(BackHandler h){
27         Event e = new Event("callBack", 1) ;
28         return h.execue(e) ;
29     }
30 }
31 class Event{
32     private String name ;
33     private int status ;
34     public Event(String n,int s){
35         this.name = n ;
36         this.status = s ;
37     }
38     public String getName() {
39         return name;
40     }
41     public void setName(String name) {
42         this.name = name;
43     }
44     public int getStatus() {
45         return status;
46     }
47     public void setStatus(int status) {
48         this.status = status;
49     }
50 }
时间: 2024-10-12 04:06:48

Java回调方法的设计思路的相关文章

java回调方法之理解

以前经常看见"回调方法(或回调函数)"一词,但是没有了解过是什么意思,更不知道用法.现在从网络上搜集了一些很好的资料,自己又整理一下,作为自己的笔记,也作为学习过程中的一个小脚印.(这篇笔记大部分来自他人的总结,提问,回答等,特此声明) 下面从1.什么是回调函数?2.回调函数的作用?3.回调函数的具体实现?(通过实例解决)三个方面进行阐述: 一. 什么是回调函数? 1. 维基百科定义(看完本片文章再来理解):在计算机程序设计中,回调函数(简称回调),是指通过函数参数传递到其他代码的,某

java回调方法、钩子方法以及模板方法模式

在面向对象的语言中,回调则是通过接口或抽象类来实现的,我们把实现这种接口的类称为回调类,回调类的对象称为回调对象,其处理事件的方法叫做回调方法.(摘自百度百科) 那么通过上面那句话将百度百科中的"回调函数"翻译成JAVA版:回调方法就是一个通过回调对象的引用(java中的引用存的是对象的地址)调用的方法.如果你把 回调对象的引用(地址)作参数传递给另一个方法,当这个引用被用来调用其所指向的方法时,我们就说这是回调方法.回调方法不是由该方法的实现方直接调用,而是在特定的事件或条件发生时由

java 回调方法的使用

回调方法的使用  1.简介:程序A中暴露一个方法a出来.在B程序中调用a方法,B自己去实现相应的逻辑.      实例:    1).定义一个接口        public interface IAA {            public void message();        }    2).定义一个类,把类中的show方法暴露出去.        public class AA {            private IAA iaa;            public void

回调方法介绍之中国好室友篇(Java示例)

前言 在Java社区的各种开源工具中,回调方法的使用俯拾即是.所以熟悉回调方法无疑能加速自己对开源轮子的掌握.网上搜了一些文章,奈何对回调方法的介绍大多只停留在什么是回调方法的程度上.本篇文章尝试从回调方法怎么来的.为什么要使用回调方法以及在实际项目中如何使用等方面来介绍下. 场景 场景选择的得当与否,很影响读者的继续阅读的兴趣甚至理解的主动性(长期作为互联网技术博文读者的我,深有感触).好场景私以为是:熟悉且简单. 本例小心翼翼选择的场景是:写作业.(hope you like) 自己写 注:

电商 秒杀系统 设计思路和实现方法

电商 秒杀系统 设计思路和实现方法 2017年05月26日 00:06:35 阅读数:3662 1 秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单:(5)付款:(6)卖家发货 秒杀业务的特性 (1)低廉价格:(2)大幅推广:(3)瞬时售空:(4)一般是定时上架:(5)时间短.瞬时并发量高: 2 秒杀技术挑战 假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技术挑战有: 对现有网站业务造

基于Java Bean Validation对Request参数进行校验的设计思路

摘自Hibernate Validator文档: 数据校验是任何一个应用程序都会用到的功能,无论是显示层还是持久层. 通常,相同的校验逻辑会分散在各个层中, 这样,不仅浪费了时间还会导致重复代码的发生. 为了避免重复, 开发人员经常会把这些校验逻辑直接写在领域模型里面, 但是这样又把领域模型代码和校验代码混杂在了一起, 而这些校验逻辑更应该是描述领域模型的元数据. JSR 303 - Bean Validation (version 1.1)- 为实体验证定义了元数据模型和API. 默认的元数据

Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。

#29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类Truck是Car类的子类,其中包含的属性有载重量payload.每个 类都有构造方法和输出相关数据的方法.最后,写一个测试类来测试这些类的功 能. package hanqi; public class Vehicle { private int wheels; private int weight

Java回调理解 (step by step)

在网上搜索了许多篇关于java回调函数的文章,自己也来试了一下写了这篇博客,可能有些地方理解不到位,烦请各位大大指正. 在计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用.这一设计允许了底层代码调用在高层定义的子程序. 在Java里面,我们使用接口来实现回调. 模拟一个场景:一个Girl给她男朋友Man打电话,然后Man给她回复: 首先定义一个接口: package mine.callback2; public interface CallInte

Hybrid APP架构设计思路

原文:Hybrid APP架构设计思路 关于Hybrid模式开发app的好处,网络上已有很多文章阐述了,这里不展开. 本文将从以下几个方面阐述Hybrid app架构设计的一些经验和思考. 通讯 作为一种跨语言开发模式,通讯层是Hybrid架构首先应该考虑和设计的,往后所有的逻辑都是基于通讯层展开. Native(以Android为例)和H5通讯,基本原理: Android调用H5:通过webview类的loadUrl方法可以直接执行js代码,类似浏览器地址栏输入一段js一样的效果 webvie