MVCRequestCallback mvcRequestCallback = new MVCRequestCallback() {
@Override
public void onSuccess(Object successData) {
}
@Override
public void onFailure(Object failureData) {
}
};
public interface MVCRequestCallback<T extends Object> {
/**
* 请求成功
*
* @param successData
*/
void onSuccess(T successData);
/**
* 请求失败
*
* @param failureData
*/
void onFailure(T failureData);
}
后面加花括号这种写法,实际是new了一个实现接口的匿名类,需要在匿名类内部(花括号内)实现你那个接口
多线程有个接口 Runnable,很多写法就是 new THread(new Runnable() {......}),这种写法就省了一个对象的引用
搞了半天终于搞明白了,也非常感谢好心的大佬的回答。这里我再总结一下:
这里直接new,后面也是一个匿名类,而mvcRequestCallback是接口的引用,
接口的引用只能通过new他的实现类(这里是编译器自动生成的继承该接口类)来赋值