国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java中抽象類和接口的區(qū)別

這篇具有很好參考價值的文章主要介紹了Java中抽象類和接口的區(qū)別。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一.抽象類

定義上來看,被abstract關鍵字修飾的類稱為抽象類。被abstract關鍵字修飾的方法稱為抽象方法。當父類的某些方法,需要聲明,但是又不確定如何實現(xiàn)時,可以將其聲明為抽象方法,那么這個類就是抽象類.例:

[public|protected] abstract class T {
    String name;
    int age;
    abstract public void test();
}
特征:
  1. 抽象類不可以實例化,可以被繼承,可以看作是對類的進一步抽象,可以繼承普通類或者抽象類
  2. 抽象類是它的所有子類的公共屬性的集合,可包含多個抽象方法,也可以沒有抽象方法
  3. 抽象類多用于設計,讓子類繼承并實現(xiàn)抽象類,用來創(chuàng)建繼承層級里子類的模板
  4. 抽象類可以包含屬性、方法、構造方法,但是構造方法不能用于實例化
  5. 子類繼承抽象類,必須實現(xiàn)抽象類的所有抽象方法,或者將子類設置成抽象類
  6. 只要包含一個抽象方法的類必須要定義成抽象類
  7. 抽象類中的抽象方法只有方法的聲明,只是起到一個限制的作用,并沒有提供實際的方法體,這也要求子類去實現(xiàn)自己的方法體
  8. abstract關鍵字只能修飾類和方法
  9. 抽象方法不可以用private、static、final來修飾,與重寫相違背

二.接口

定義上來看,接口使用interface關鍵字修飾。接口就是給出一些無法實現(xiàn)的方法,封裝在一起,到某個類要使用的時候,根據(jù)情況重新寫出來。如果一個類實現(xiàn)了某個接口,那么它就繼承了這個接口的抽象方法。例:文章來源地址http://www.zghlxwxcb.cn/news/detail-602316.html

interface IAI{
    String name="Jack";
    int age=12;
     default void iac(){
        System.out.println(1);
    };
     static void iab(){
         System.out.println(2);
     }
}
class TA implements IAI{
    public static void main(String[] args) {
        IAI iai=new TA();    
        iai.iac();         //1
        IAI.iab();         //2
    }
}
特征:
  1. 接口不可以實例化
  2. 接口中所有的方法都是public方法,接口的抽象方法可以不用abstract修飾
  3. 實現(xiàn)接口的子類必須實現(xiàn)所有的抽象方法,除非是抽象類
  4. 接口可以被接口繼承,或者被其他類實現(xiàn)
  5. 一個類可以實現(xiàn)多個接口,子類通過implements關鍵字來實現(xiàn)
  6. 接口中的屬性必須是final的,而且隱含的是public static final修飾符,必須顯示的初始化
  7. 接口屬性的訪問形式:接口名.屬性名,接口的static修飾的方法訪問形式:接口名.方法名
  8. 接口方法必須用static或者default修飾詞修飾

三.區(qū)別

相同:
  1. 都不能被實例化
  2. 接口的實現(xiàn)類或抽象類的子類都只有實現(xiàn)了接口或抽象類中的方法后才能實例化
  3. 抽象類和接口都是用來抽象具體對象的,要面向接口(抽象)編程,而不要面向具體編程。雖然都進行了不同程度的抽象,但是接口的抽象級別最高
不同:
  1. 抽象類是對類抽象,而接口是對行為的抽象。抽象類是對整個類整體進行抽象,包括屬性、行為,但是接口卻是對類局部(行為)進行抽象
  2. 抽象類是自底向上抽象而來的,接口是自頂向下設計出來的
  3. 抽象類要被子類繼承,而接口是用來被子類實現(xiàn)的
  4. 接口只能做方法聲明,不能有方法的實現(xiàn),抽象類中不僅可以作方法聲明,也可以做方法實現(xiàn)
  5. 實現(xiàn)接口的關鍵字為implements,繼承抽象類的關鍵字為extends。一個類可以實現(xiàn)多個接口,但一個類只能繼承一個抽象類。對于java的單繼承的一種補充
  6. 抽象類有構造器,接口沒有構造器,只能重寫方法
  7. 抽象類可以有普通的屬性,也可以有public static final修飾的屬性,而接口所有的屬性都是public static final修飾的。

到了這里,關于Java中抽象類和接口的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【JAVASE】抽象類和接口及其抽象類和接口的區(qū)別

    【JAVASE】抽象類和接口及其抽象類和接口的區(qū)別

    ?作者簡介:大家好,我是橘橙黃又青,一個想要與大家共同進步的男人???? ??個人主頁:再無B~U~G-CSDN博客 目標: 1. 抽象類 2. 接口 3. Object 類 在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對象的, 如果 一個類中

    2024年04月13日
    瀏覽(35)
  • 抽象類和接口的區(qū)別

    Java是單繼承和多實現(xiàn) 參數(shù) 抽象類 接口 聲明 用abstract聲明 用interface聲明 實現(xiàn) 子類使用extends來繼承抽象類,如果子類不是抽象類的話,它需要提供抽象類中所有聲明方法的實現(xiàn) 子類使用implements來實現(xiàn)接口,它需要提供接口中所有聲明方法的實現(xiàn)

    2024年02月06日
    瀏覽(18)
  • Java 抽象類和接口

    Java 抽象類和接口

    登神長階 第三階 抽象類和接口 ???????????????????????????????????????????? 目錄 ??????一.抽象類 ??1.定義及其作用 ??2.語法 ??3.特性 ??4.意義 ??二.接口? ??1.定義及其作用 ??2.語法 ??3.具體使用 ??4.特性 ??5.多個接口的實現(xiàn) ?????6.接

    2024年03月18日
    瀏覽(34)
  • Java——抽象類和接口

    Java——抽象類和接口

    目錄 1.抽象類 1.概念: 2.語法? 3.特性? 2.接口?? 1.概念 2.語法? 3.特性? 在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是 抽象類 。 在這我們

    2024年04月12日
    瀏覽(22)
  • 【Java】抽象類和接口

    【Java】抽象類和接口

    在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對象的, 如果一個類中沒有包含足夠的信息來描繪一個具體的對象,那么這樣的類就是抽象類 在Java中,一個類如果被 abstract 修飾稱為抽象類,抽象類中被 abstract 修飾的方法

    2024年02月05日
    瀏覽(18)
  • JAVA-抽象類和接口

    JAVA-抽象類和接口

    文章目錄 前言 1.1抽象類的概念 1. 2抽象類的語法 1.3抽象類的特性 1.3.1抽象類不能直接實例化對象 1.3.2抽象方法不能被private,final和static修飾 1.3.3 抽象類的子類要么也是抽象類,要么重寫所有抽象方法 1.4抽象類的作用 2.1 接口的概念 2.2 語法規(guī)則 2.3 接口的使用 ?2.4 接口的特性

    2024年02月05日
    瀏覽(18)
  • Java抽象類和接口【超詳細】

    Java抽象類和接口【超詳細】

    在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對象的, 如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類 。 比如: 在打印圖形例子中, 我們發(fā)現(xiàn), 父類 Shape 中的 draw 方法好像并沒有什么實際

    2024年02月14日
    瀏覽(23)
  • 【Java SE語法篇】9.抽象類和接口

    【Java SE語法篇】9.抽象類和接口

    ??博客主頁:愛敲代碼的小楊. ?專欄:《Java SE語法》 ??感謝大家點贊????收藏?評論???,您的三連就是我持續(xù)更新的動力?? 在面向對象的概念中,所有的對象都是通過類來描繪的,但是放過來,并不是所有的類都是用來描繪對象的, 如果一個類中沒有包含足夠的

    2024年01月19日
    瀏覽(20)
  • .NET Interface [接口]、abstract【抽象類】

    接口 Interface 接口不能被實例化 接口只能包含方法聲明 接口中的成員包括方法、屬性、索引器、事件 接口中不能包含常量、字段、構造函數(shù)、析構函數(shù)、靜態(tài)成員 接口中的所有成員默認 public,因此接口中不能有private修飾符 派生類必須實現(xiàn)接口的所有成員 一個類可以繼承多

    2024年02月05日
    瀏覽(23)
  • 圖靈日記之java奇妙歷險記--抽象類和接口

    圖靈日記之java奇妙歷險記--抽象類和接口

    在面向對象的概念中,所有對象都是通過類來描述的,但是反過來,并不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息描繪一個具體的對象,這樣的類就是抽象類 使用abstract修飾的方法稱為抽象方法 使用abstract修飾的類稱為抽象類 抽象類是不可以進行實例化的

    2024年02月03日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包