在Java接口中定義的變量默認(rèn)不僅有
final
而且還帶static
。
public interface SchoolList {
List<String> mListData = new ArrayList<>();
void setListData(List<String> value);
List<String> getListData();
}
在請求一些網(wǎng)絡(luò)請求時(shí),接口地址和返回值結(jié)構(gòu)相同,所以想封裝一下,實(shí)現(xiàn)類只需當(dāng)數(shù)據(jù)返回來時(shí)addAll
;
雖然是不同的類實(shí)現(xiàn)了該接口,但因?yàn)?code>mListData是Static的,導(dǎo)致界面切換時(shí),展示的都是相同的數(shù)據(jù);
可以換成定義一個(gè)Base
abstract
抽象類實(shí)現(xiàn)該接口,其它實(shí)現(xiàn)類繼承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<>();
}