listener一记
最近在看okhttp的内容,http://www.imooc.com/video/13586
学习过程中有一个listener的写法感觉很新奇(原谅我就是个菜鸟)后面看视频过程中懂了,在此以一个小例子Mark一下
代码块
public class Test {
private String flag;
private Listener listener;
public Test(String flag,Listener listener) {
this.flag=flag;
this.listener = listener;
}
public static interface Listener{
public void Request(long bytesWritten,long contentLength);
}
public void write(long bytes,long length){
System.out.println("Test类 实例的write方法执行...");
listener.Request(bytes, length);
}
public static void main(String[] args) {
Test test=new Test("Test类-新对象",new Listener() {
//new接口-实现
public void Request(long bytesWritten, long contentLength) {
System.out.println("Listener的Request方法实现");
}
});
test.write(5, 10);
}
}
输出:
Test类 实例的write方法执行…
Listener的Request方法实现
原来在类内写个接口,然后还能在类内调用方法,都是因为要把listener的实现交给外部呀