java中抽象類和接口有什么區(qū)別?針對這個(gè)問題,這篇文章給出了相對應(yīng)的分析和解答,希望能幫助更多想解決這個(gè)問題的朋友找到更加簡單易行的辦法。
抽象類和接口的區(qū)別:
public,protected
,但接口中抽象方法的訪問類型只能是public
,并且默認(rèn)為public abstract
(省略則自動(dòng)默認(rèn)補(bǔ)全)。
public static final類型的。
抽象類:
一個(gè)類中有抽象方法,這個(gè)類就變成了抽象類。
抽象類中class的前面必須有abstract
修飾符。
抽象類中可以有普通方法,也可以有抽象方法,而抽象方法的個(gè)數(shù)可以是0個(gè),也可以是多個(gè)。
子類繼承父類,必須重寫全部的抽象方法,除非這個(gè)類也變成了抽象類。
抽象類往往用來表征對問題領(lǐng)域進(jìn)行分析、設(shè)計(jì)中得出的抽象概念,是對一系列看上去不同,但是本質(zhì)上相同的具體概念的抽象。抽象類是不完整的,它只能用作基類。
接口:
表面上看,接口是一種特殊的抽象類,但是類是類,接口是接口,是并列的關(guān)系。
接口中所有方法都必須是抽象的。(1.8之后允許接口定義非抽象方法)
接口中方法定義默認(rèn)為public abstract
類型,成員變量默認(rèn)為public static final
類型。(如果省略,系統(tǒng)會默認(rèn)補(bǔ)全)。
接口泛指實(shí)體把自己提供給外界的一種抽象化物(可以為另一實(shí)體),用以由內(nèi)部操作分離出外部溝通方法,使其能被修改內(nèi)部而不影響外界其他實(shí)體與其交互的方式,就如面向?qū)ο蟪绦蛟O(shè)計(jì)提供的多重抽象化。
抽象類和普通類的區(qū)別:
包含抽象方法的類稱為抽象類,但并不意味著抽象類中只能有抽象方法,和普通類一樣,同樣可以擁有成員變量和普通的成員方法。
抽象類和普通類的區(qū)別如下:
抽象方法的訪問修飾符必須為public
和protected
。
抽象類不能被實(shí)例化。
如果一個(gè)類繼承于抽象類,則子類必須實(shí)現(xiàn)父類的抽象方法,如果子類沒有實(shí)現(xiàn)父類的抽象方法,則子類必須也一個(gè)抽象類。
關(guān)于java中抽象類和接口有什么區(qū)別就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
新聞名稱:java中抽象類和接口有什么區(qū)別-創(chuàng)新互聯(lián)
分享鏈接:http://jinyejixie.com/article18/eipdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站營銷、虛擬主機(jī)、建站公司、自適應(yīng)網(wǎng)站、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容