写了一个Demo,测试实例
类A:
package com.interfacetest.demo01;
public class A implements listener {
public static void main(String[] args) {
System.out.println(A.class + "main:");
}
@Override
public void listenOut(int i, String str) {
System.out.println(this.getClass() + " 的输出:");
System.out.println("i=" + i);
System.out.println("str:" + str);
}
}
类B:
package com.interfacetest.demo01;
import java.util.Scanner;
public class B {
public static void main(String[] args) {
int i = -1;
//listener listen = (listener) (new A());
listener listen = new A();//接口回调,对象
Scanner sc = new Scanner(System.in);
System.out.println(B.class + " 的输出:");
System.out.print("input String:");
String in = sc.nextLine();
listen.listenOut(i++, in);
sc.close();
}
}
接口 listener:
package com.interfacetest.demo01;
public interface listener {
public void listenOut(int i, String str);
}
运行B,打印结果:
class com.interfacetest.demo01.B 的输出:
input String:test
class com.interfacetest.demo01.A 的输出:
i=-1
str:test
接口回调否?