java的數(shù)據(jù)類(lèi)型分為 接口和抽象類(lèi)的主要區(qū)別?
接口和抽象類(lèi)的主要區(qū)別?Java提供并支持抽象類(lèi)和接口的創(chuàng)建。它們有一些共同點(diǎn),但區(qū)別在于接口中的所有方法都是抽象的。抽象類(lèi)可以包含抽象方法和非抽象方法。類(lèi)可以實(shí)現(xiàn)許多接口,但它只能繼承一個(gè)抽象類(lèi)。如
接口和抽象類(lèi)的主要區(qū)別?
Java提供并支持抽象類(lèi)和接口的創(chuàng)建。
它們有一些共同點(diǎn),但區(qū)別在于接口中的所有方法都是抽象的。抽象類(lèi)可以包含抽象方法和非抽象方法。類(lèi)可以實(shí)現(xiàn)許多接口,但它只能繼承一個(gè)抽象類(lèi)。如果一個(gè)類(lèi)要實(shí)現(xiàn)一個(gè)接口,它必須實(shí)現(xiàn)接口聲明的所有方法。但是,一個(gè)類(lèi)不能實(shí)現(xiàn)一個(gè)抽象類(lèi)聲明的所有方法。當(dāng)然,在這種情況下,類(lèi)也必須聲明為抽象的。抽象類(lèi)可以實(shí)現(xiàn)接口而不提供接口方法實(shí)現(xiàn)。默認(rèn)情況下,java接口中聲明的變量是final。抽象類(lèi)可以包含非最終變量。java接口中的成員函數(shù)默認(rèn)為public。抽象類(lèi)成員函數(shù)可以是私有的、受保護(hù)的或公共的。接口是絕對(duì)抽象的,不能實(shí)例化。抽象類(lèi)不能實(shí)例化,但如果它包含main方法,則可以調(diào)用它。您還可以參考jdk8中抽象類(lèi)和接口之間的區(qū)別