匿名內部類建立物件
阿新 • • 發佈:2018-12-26
有兩個類
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 抽象類或者介面也不是建立本身的物件,而是建立了一個實現或者繼承了這個介面或抽象類的實現類物件