抽象类和接口有什么区别?
?
聲明方法的存在而不去實(shí)現(xiàn)它的類叫抽象類(abstract?class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstract類的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。不能有抽象結(jié)構(gòu)函數(shù)或抽象靜態(tài)方法。abstract類的子類為它們父類中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類為。取而代之,在子類贈(zèng)送實(shí)現(xiàn)該方法。知道其行為的其他類可以在類中實(shí)現(xiàn)這些方法。
接口(interface)是抽象類的變體。在接口中所有方法都是抽象的。多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個(gè)程序體。接口只可以定義static?final成員變量。接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)接口的特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。然后它可以在實(shí)現(xiàn)了該接口的類的任何對(duì)象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換。instanceof運(yùn)算符可以用來決定某對(duì)像的類是否實(shí)現(xiàn)了接口?
轉(zhuǎn)載于:https://www.cnblogs.com/qfcy/p/6788750.html
總結(jié)
以上是生活随笔為你收集整理的抽象类和接口有什么区别?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2015211230108《Java程序
- 下一篇: 1001 字符串“水”题(二进制,map