Java interface 学习

在Java接口中定义的变量默认不仅有final而且还带static

public interface SchoolList {

    List mListData = new ArrayList<>();

    void setListData(List value);

    List getListData();

}

在请求一些网络请求时,接口地址和返回值结构相同,所以想封装一下,实现类只需当数据返回来时addAll
虽然是不同的类实现了该接口,但因为mListData是Static的,导致界面切换时,展示的都是相同的数据;

可以换成定义一个Base abstract抽象类实现该接口,其它实现类继承Base类;

public interface SchoolList {

   // List mListData = new ArrayList<>();

   void setListData(List value);

   List getListData();

}
public abstract class SchoolListBase implements SchoolList {

    List mListData = new ArrayList<>();

}

你可能感兴趣的:(Java interface 学习)