介面
對比:
- 普通類:只有具體實現
- 抽象類:具體實現和規範(抽象方法)都有
- 介面:只有規範!自己無法寫方法!專業的約束(約束和實現分離):面向介面程式設計~
介面的本質是契約。
- 介面就是規範,定義的是一組規則,體現了現實世界中“如果你是...則必須能...”的思想。(如果你是天使,則必須能飛...)
- 就像我們人間的法律一樣,制定好後大家都遵守
- 宣告類的關鍵字是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裡的
}
}
作用:
- 約束
- 定義一些方法,讓不同的人實現
- public abstract
- public static final
- 介面不能被例項化,介面中沒有構造方法
- implements可以實現多個介面
- 必須重寫介面中的方法