22-介面

呆头尖瓜發表於2024-06-24

介面

對比:

  • 普通類:只有具體實現
  • 抽象類:具體實現和規範(抽象方法)都有
  • 介面:只有規範!自己無法寫方法!專業的約束(約束和實現分離):面向介面程式設計~

介面的本質是契約。

  • 介面就是規範,定義的是一組規則,體現了現實世界中“如果你是...則必須能...”的思想。(如果你是天使,則必須能飛...)
  • 就像我們人間的法律一樣,制定好後大家都遵守
  • 宣告類的關鍵字是class。宣告介面的關鍵字是interface
//interface 介面關鍵字
//介面都需要有實現類
public interface UserService {
    //介面中的所有定義都是抽象的 public abstract(預設是抽象的)
    //定義增刪改查
    void add(String name);//實際是public abstract void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);
    //介面裡定義的屬性都是常量,一般不會這樣做
    int AGE = 99;//實際是public static final int AGE = 99;
}

public interface TimeService {
    void timer();
}

實現類

  • 實現類我們會以介面名+Impl命名
  • 透過implements關鍵字實現介面
//類 可以實現介面 implements 介面
//實現了介面的類,就需要重寫介面中的方法
//多繼承~利用介面實現多繼承(兩個介面類:UerService,TimeService)
public class UserServiceImpl implements UserService,TimeService{
    @Override
    public void add(String name) {

    }

    @Override
    public void delete(String name) {

    }

    @Override
    public void update(String name) {

    }

    @Override
    public void query(String name) {

    }

    //利用介面實現多繼承
    @Override
    public void timer() {//TimeService裡的

    }
}

作用:

  1. 約束
  2. 定義一些方法,讓不同的人實現
  3. public abstract
  4. public static final
  5. 介面不能被例項化,介面中沒有構造方法
  6. implements可以實現多個介面
  7. 必須重寫介面中的方法

相關文章