接口
接口的概述
電腦上面的主板有很多接口血公,比如內(nèi)存條的接口,有了這個(gè)接口睦霎,可以插入多個(gè)內(nèi)存條梢卸,主板和內(nèi)存條可能不是同一家生產(chǎn)廠商,但是兩種物體卻能結(jié)合到一起副女,正是因?yàn)檫@個(gè)接口的存在蛤高。只要廠家遵循這個(gè)接口,主板和內(nèi)存條就可以隨意更換碑幅,提高了可插拔性戴陡,接口其實(shí)也是體現(xiàn)著一種規(guī)范。
在java語言里面使用interface來聲明一個(gè)接口沟涨,接口其實(shí)是一個(gè)特殊的抽象類猜欺,在接口里面的方法全部都是抽象的。
關(guān)于接口拷窜,有幾個(gè)需要注意的地方:
接口中只能出現(xiàn)常量和抽象方法(jdk8之后可以有default方法)
接口里面沒有構(gòu)造方法开皿,無法創(chuàng)建接口的對(duì)象
接口和接口之間支持多繼承涧黄,即一個(gè)接口可以有多個(gè)父接口
一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,即一個(gè)類可以有多個(gè)父接口
一個(gè)類如果實(shí)現(xiàn)了接口赋荆,那么這個(gè)類需要重寫接口中所有的抽象方法(建議)笋妥,如果不重寫則這個(gè)類需要聲明為抽象類(不建議)
接口的作用
可以使項(xiàng)目分層,都面向接口開發(fā)窄潭,提高開發(fā)效率
降低了代碼之間的耦合度春宣,提高了代碼的可插拔性
開發(fā)中盡量使用接口,少用抽象類嫉你,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口月帝,卻只能繼承一個(gè)父類
將之前的james開汽車的例子修改一下
將Car定義為接口
創(chuàng)建Benz和BMW類去實(shí)現(xiàn)這個(gè)接口
Person類和測(cè)試類全不變。