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 }

 

转载于:https://www.cnblogs.com/hfblogs/p/7381960.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值