本文為大家介紹抽象類和接口的區(qū)別和聯(lián)系(簡述抽象類和接口的區(qū)別),下面和小編一起看看詳細(xì)內(nèi)容吧。
抽象類用于捕獲子類的一般特征,而接口是抽象方法的集合;抽象類不能被實(shí)例化,只能作為子類的超類,用于在繼承層次templates中創(chuàng)建子類,而接口只是一種形式,接口本身不能做任何事情。
其次,抽象類可以有默認(rèn)的方法實(shí)現(xiàn),子類使用extends關(guān)鍵字繼承抽象類。如果子類不是抽象類,則需要提供抽象類中聲明的所有方法的實(shí)現(xiàn)。接口是完全抽象的,根本沒有方法實(shí)現(xiàn),子類使用關(guān)鍵字implements來實(shí)現(xiàn)接口,需要提供接口中聲明的所有方法的實(shí)現(xiàn)。
抽象類可以有構(gòu)造函數(shù)。除了不能實(shí)例化抽象類外,它與普通的java類沒有區(qū)別。抽象方法可以有public、protected 和default 等修飾符。接口不能有構(gòu)造函數(shù),這是完全不同的類型。接口方法的默認(rèn)修飾符是public,不能使用其他修飾符。
好了,抽象類和接口的區(qū)別和聯(lián)系(簡述抽象類和接口的區(qū)別)的介紹到這里就結(jié)束了,想知道更多相關(guān)資料可以收藏我們的網(wǎng)站。