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