回调模式

来源:互联网 发布:windows office 密钥 编辑:程序博客网 时间:2024/04/30 08:59

主程序

package com.cloud.learn;/** * 是否使用内部类是看使用的范围 */public class Main {public static void main(String[] args) {MessageSender ms = new MessageSender();ms.send("hehe", new Encryptor(){public String encrypt(String str) {return str.toUpperCase();}});}}

接口

package com.cloud.learn;public interface Encryptor {public String encrypt(String str);}
package com.cloud.learn;/** * 回调方法的思想 * 问题域:我想对不同的信息发送时,进行不同的加密算法 * 解决方法:在发送方法中将会变化的操作部分(加密算法)分离出来, 作为接口动态的实现 * 回调:发送调用接口对象的时候,接口对象也要调用发送方法中的数据 */public class MessageSender {public void send(String str,Encryptor en){String encrypt = en.encrypt(str);System.out.println(encrypt);}}