介面的定義與實現
阿新 • • 發佈:2020-08-17
- 普通類:只有具體實現
- 抽象類:抽象方法(也就是規範)和具體實現都是有的
- 介面:只有規範,自己無法寫方法,專業的約束,我們用它來實現約束和實現分離
介面就是規範,定義了一組規則,是法則,就好像如果你是飛機,就要會飛,介面的本質就是契約,就是法則制定後就需要遵守
oriented object的精髓,就是對物件的抽象,最好體現著一點的就是介面 ,所謂的設計設計模式都是針對有抽象能力的語言,因為設計模式研究的就是如何合理的去抽象
定義:
package com.xuyifan.oop.demo10; /** * @author xyf * @create 2020-08-17-13:57 */ publicinterface 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() { } @Overridepublic void query(String str) { } @Override public void timeService() { } }
- 實現了介面的類,就必須要實現介面中的全部方法
- 一個實現類可以去實現多個介面,這也就實現了“多繼承”特性
總結:
- 介面就是一堆方法的約束
- 定義一些方法,讓不同的人去實現 10個人去實現一個介面,可以滿足多人協作開發
- 介面不能被例項化,與抽象類不同,介面沒有抽象方法
- implements可以實現多個介面
- implements必須重寫介面中的所有方法
- 所有的方法都預設是public abstract
- 所有的常量都預設是public static final的