接口回调是指:可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法
Call包,可以打成Jar包:
QueryStr.java:
package day20.call; /* * 相当于QueryRunner */ public class QueryStr { /* * str:需要截取的字符串 * subStrInterface 实现SubStrInterface的对象 */ public Object subStr(String str,SubStrInterface subStrInterface){ Object result=subStrInterface.subString(str); return result; } }
SubStrInterface接口:
package day20.call; /* * 标准 规范 * 截取字符串 * ResultSetHander 接口 */ public interface SubStrInterface { /* * 截取指定的字符串返回 */ Object subString(String str); }
Client包:
SubStrInterfaceImpl.java:
package day20.client; import day20.call.SubStrInterface; public class SubStrInterfaceImpl implements SubStrInterface { @Override public Object subString(String str) { //程序员自己根据需求实现这个接口中的方法 str=str.substring(1, 4); return str; } }
Client.java
package day20.client; import day20.call.QueryStr; public class Client { /** * @param args */ public static void main(String[] args) { test(); } public static void test() { /**************************************/ /*SubStrInterface subStrInterface=new SubStrInterface(){ @Override public Object subString(String str) { //程序员自己根据需求实现这个接口中的方法 str=str.substring(1, 4); return str; } }; */ /**************************************/ //给定一个字符串“abcdefgh”,截取输出"bcd" String str="abcdefgh"; QueryStr queryStr=new QueryStr(); //Object obj=queryStr.subStr(str, subStrInterfaceImpl); Object obj=queryStr.subStr(str, new SubStrInterfaceImpl()); System.out.println("obj= "+obj); } }