在学习.net的时候,学习过委托,也用委托做过工作流的封装,并认为他非常的重要,所以,在学习java的时候,也去学习了这块内容,不学不知道,一学非常的吃惊,因为java的委托不像.net那样,实现底层类库对其的支持,而是通过回调的方式简介的实现这种机制,下面就开始java委托的具体实现。
              
              
              
    //CallBack接口
    public interface ComputeCallBack {
        public void onComputeEnd();
    }
    //被监听类
    public class CallBackBLL {
        public void compute(ComputeCallBack callback){
            if(callback != null){  callback.onComputeEnd();  }
        }
    }
    //回调接口实现类
    public class MyComputeCallBackImpl implements ComputeCallBack{
        @Override
        public void onComputeEnd() {
            System.out.println("外部类的“委托”");
        }
    }
    public class TestDelegate {
        public static void main(String[] args) {
            TestCallBack testCallBack = new TestCallBack();
            //匿名类的“委托”,省略
            //外部类的“委托”
            MyComputeCallBackImpl myComputeCallBackImpl = new MyComputeCallBackImpl();
            testCallBack.compute(3, myComputeCallBackImpl1);
        }
    }
委托的思想就是,把具体做的部分,交给调用方处理。
原文:http://blog.csdn.net/jiben2qingshan/article/details/45438543