Java interface学習

947 ワード

Javaインターフェースで定義される変数のデフォルトは、finalだけでなく、staticも有する。
public interface SchoolList {

    List mListData = new ArrayList<>();

    void setListData(List value);

    List getListData();

}
いくつかのネットワーク要求を要求する場合、インターフェースアドレスとリターン値構造は同じであるので、実装クラスはデータが戻ってきたときにのみaddAllを実装したい。このインターフェースは異なるクラスで実装されているが、mListDataはStaticであるため、インターフェースが切り替わる際には同じデータが示されている。
このインターフェースは、Baseの抽象的なクラスを定義して実装することができ、他の実装クラスはabstractクラスを継承することができる。
public interface SchoolList {

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

   void setListData(List value);

   List getListData();

}
public abstract class SchoolListBase implements SchoolList {

    List mListData = new ArrayList<>();

}