Java回調方法的設計思路
阿新 • • 發佈:2017-08-17
handler return ide 需要 stat 思路 聲明 cal bject
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(newBackHandler() { 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 }
Java回調方法的設計思路