在Java接口中定义的变量默认不仅有
final
而且还带static
。
public interface SchoolList {
List<String> mListData = new ArrayList<>();
void setListData(List<String> value);
List<String> getListData();
}
在请求一些网络请求时,接口地址和返回值结构相同,所以想封装一下,实现类只需当数据返回来时addAll
;
虽然是不同的类实现了该接口,但因为mListData
是Static的,导致界面切换时,展示的都是相同的数据;
可以换成定义一个Base
abstract
抽象类实现该接口,其它实现类继承Base
类;
public interface SchoolList {
// List<String> mListData = new ArrayList<>();
void setListData(List<String> value);
List<String> getListData();
}
public abstract class SchoolListBase implements SchoolList {
List<String> mListData = new ArrayList<>();
}