有两个类
APP返回的JSON类型的实体类
public class AppResultObj {
private String ret_msg;//返回提示信息
private String ret_code;//调用接口的状态码(1 成功 2失败)
private Data data;//是一个抽象类
/**
* 调用成功
*/
public static final String RET_CODE_SUCCESS="1";
/**
* 调用失败
*/
public static final String RET_CODE_FAIL="2";
}
AppResultObj 中用于封装数据的抽象类
public abstract class Data{
private String state;//数据返回状态
}
我们在写APP对接时需要返回的公共参数由state,我们要多返回其它参数需要继承Data来添加新的属性,但是当我们只需要返回state时,不能用 Data data = new Data();的形式来创建抽象类,因为抽象类不能new对象,可以通过Data data = new AppResultObj ().getData();这样编译通过,但是data的引用是null同样不可取,但是我们可以使用匿名内部类形式创建对象,Data data = new Data(){};这个data就可以用来setState();
匿名内部类方式来new 抽象类或者接口也不是创建本身的对象,而是创建了一个实现或者继承了这个接口或抽象类的实现类对象