1. 程式人生 > 實用技巧 >介面的定義與實現

介面的定義與實現

  1. 普通類:只有具體實現
  2. 抽象類:抽象方法(也就是規範)和具體實現都是有的
  3. 介面:只有規範,自己無法寫方法,專業的約束,我們用它來實現約束和實現分離

介面就是規範,定義了一組規則,是法則,就好像如果你是飛機,就要會飛,介面的本質就是契約,就是法則制定後就需要遵守

oriented object的精髓,就是對物件的抽象,最好體現著一點的就是介面 ,所謂的設計設計模式都是針對有抽象能力的語言,因為設計模式研究的就是如何合理的去抽象

定義:

package com.xuyifan.oop.demo10;

/**
 * @author xyf
 * @create 2020-08-17-13:57
 */
public
interface UserService {//關鍵字 interface定義介面 //介面中的所有定義其實都是抽象的,即使不屑,也預設為public abastract的,可以不寫 public abstract void run(); void walk(); void query(String str); }
package com.xuyifan.oop.demo10;

/**
 * @author xyf
 * @create 2020-08-17-14:02
 */
public interface TimeService {
    void timeService();
}

實現介面

package com.xuyifan.oop.demo10;

/**
 * @author xyf
 * @create 2020-08-17-14:00
 */
//實現了介面的類,就必須要實現介面中的全部方法
//一個實現類可以去實現多個介面,這也就實現了“多繼承”特性
public class UserServiceImpl implements UserService,TimeService{

    @Override
    public void run() {

    }

    @Override
    public void walk() {

    }

    @Override
    
public void query(String str) { } @Override public void timeService() { } }
  1. 實現了介面的類,就必須要實現介面中的全部方法
  2. 一個實現類可以去實現多個介面,這也就實現了“多繼承”特性

總結:

  1. 介面就是一堆方法的約束
  2. 定義一些方法,讓不同的人去實現 10個人去實現一個介面,可以滿足多人協作開發
  3. 介面不能被例項化,與抽象類不同,介面沒有抽象方法
  4. implements可以實現多個介面
  5. implements必須重寫介面中的所有方法
  6. 所有的方法都預設是public abstract
  7. 所有的常量都預設是public static final的