介面的狹義的定義:
寫法:inte***ce 介面名
廣義的定義:介面相當於定義乙個規則
要想使用找個介面 就必須遵循找個規則
例如://宣告乙個介面
inte***ce
intera
//使用介面的關鍵字 implements(實現介面)
//在介面中一班說實現介面
//一班來說 介面的實現類 都有字尾 impl
//實現介面intera
class
interaimpl
implements
intera
}
注意jdk1.8以前的規則:
1.介面中只能宣告抽象方法
2.如果你宣告乙個方法 沒寫 abstract 系統會預設幫你加上
3.介面沒有構造方法(不能被繼承) 不能直接例項化
4.介面定義的成員變數 預設的修飾詞 是 public
static
final 是常量
直接使用介面名 去呼叫
關於介面的小練習:
/* 需求:
* 動物 吃 叫
* * 貓 吃魚 喵喵喵
* * 訓練動物: 跳高
*/public
class
demo
}//動物類
abstract
class
animal
//介面 訓練貓
inte***ce
catjumpinter
//貓class
catextends
animal
@override
public
void speak()
}//跳高貓
//因為跳高貓有貓的全部特性
//所以跳高貓可以直接繼承貓類
class
jumpcat
extends
catimplements
catjumpinter
}
類和類的關係:
類和類是繼承關係 只能單繼承 可以多層繼承
類和介面的關係:
類和介面是實現關係 可以單實現 可以多實現
介面和介面的關係:
是繼承關係 可以單繼承 也可以多繼承
//測試介面的多實現
inte***ce
interb
inte***ce
interc
//實現類
class
interimpl
implements
interb,interc
@override
public
void fun2()
}//測試介面和介面的關係
inte***ce
interd
inte***ce
intere
inte***ce
interf
extends
interd,interc
jdk1.8介面的新特性(暫時沒什麼應用場景)
介面中可以宣告:
1.抽象方法
2.靜態方法
3.預設方法
抽象類 和 介面的區別
1.成員變數
抽象類: 可以是變數 可以是常量
介面: 只能是常量
2.成員方法
抽象類:可以是抽象方法 也可以是普通的成員方法
介面: 只能是抽象方法 靜態方法 和 預設方法
3.構造方法(抽象類和介面 都不能被例項化物件)
抽象類: 有構造方法 可以被繼承
介面: 沒有構造方法 只能被實現
例如:
//介面中的靜態方法
public
class demo
}//介面的實現類
//實現類中 可以不去重寫 (實現) 介面中的靜態方法 和 預設方法
inte***ce inter x
}
例如:
//介面中的預設方法
public
class
demo
}inte***ce
interx
}//介面的實現類
//實現類中 可以不去重寫 (實現) 介面中的靜態方法 和 預設方法
class
interximpl
implements
interx
}
public
class
demo
}//介面的實現類
//實現類中 可以不去重寫 (實現) 介面中的靜態方法 和 預設方法
class
interximpl
implements
interx
}day.12
java 基礎 介面
提到介面就不得不說介面和抽象類的區別,1 介面是公開的,裡面不能有私有的方法和變數,而抽象類可以有 2 介面裡面的必須都是抽象方法,不過預設狀態下就是abstract型別,不必刻意去定義 3 實現介面時,一定要實現介面裡所定義的所有方法,而繼承抽象類不必要都實現 4 介面可以實現多重繼承,只要在im...
JAVA基礎 介面
為什麼需要如果介面?介面和抽象類的區別?介面就是比 抽象類 還 抽象 的 抽象類 可以更加規範的對子類進行約束。全面地專業的實現了 規範和具體實現的分離。介面就是規範,定義的是一組規則,體現了現實世界中 如果你是.則必須能.的思想。介面的本質是契約,就像我們人間的法律一樣。制定好後大家都遵守。專案的...
JAVA基礎(介面)
1,介面概述 2,介面類的特點 介面用關鍵字inte ce表示 類實現介面用implements表示 介面不能例項化 介面的子類 案例演示 class demo1 inte ce inte ce inter class demo implements inter 3,介面成員特點 成員變數 只能是常...