最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java由淺入深通關(guān)抽象類與接口上

 更新時間:2022年04月26日 15:06:14   作者:星鴉wyk  
在類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類稱為抽象類,接口是Java中最重要的概念之一,它可以被理解為一種特殊的類,不同的是接口的成員沒有執(zhí)行體,是由全局常量和公共的抽象方法所組成,本文給大家介紹Java抽象類和接口,感興趣的朋友一起看看吧

1.抽象類

1.1抽象類概念

我們都知道對象是通過類來進(jìn)行描述的,但是不是說所有的類都是用來描述對象的

一個類的類中沒有足夠的信息來描述一個具體的對象,這便是抽象類

抽象類的關(guān)鍵字:abstract

1.2抽象方法

首先還是看看之前寫過的類:

class Plant {
    String name;
    String source;
    String genus;
    public void trait() {
        System.out.println("父類方法");
    }
}
class Tree extends Plant {
    @Override
    public void trait() {
        System.out.println("子類方法");
    }
}

既然trait方法是重寫的方法,那么父類的trait根本就沒有實現(xiàn)的必要,所以我們可以將其改成抽象方法

注意:抽象類可以沒有抽象方法,但抽象方法必須在抽象類里面

abstract class Plant {
    String name;
    String source;
    String genus;
    public abstract void trait();
}
class Tree extends Plant {
    @Override
    public void trait() {
        System.out.println("子類方法");
    }
}

1.3抽象類的細(xì)節(jié)

1.抽象類是用于被繼承的,所以無法實例化,除這點外它和普通的類沒有區(qū)別

2.抽象類里面可以沒有抽象方法,但抽象方法一定要在抽象類中

3.一個普通類繼承抽象類,要重寫抽象類里面所有的抽象方法

4.抽象類可以繼承抽象類,此時不需要重寫抽象方法

5.final無法修飾抽象類和抽象方法

6.抽象方法不能使用private和static修飾

可能會有人覺得奇怪:普通類也可以作為父類被繼承,為什么還要再弄一個抽象類出來?

我們不妨假設(shè)一個場景:你在實例化對象的時候?qū)嵗烁割悓ο?,如下?/p>

public static void main(String[] args) {
        Plant tree=new Plant();
        tree.trait();
    }

如果父類是普通類的話,此時編譯器不會報錯,直接調(diào)用父類的方法

如果父類是抽象類,因為抽象類無法被實例化,所以編譯器會直接報錯,這樣問題就能更早被發(fā)現(xiàn)

2.接口

2.1接口概念

所謂接口就是公共的行為規(guī)范準(zhǔn)則,比如說A4紙,A4紙的大小是210mm*297mm,那么你就只能按照這個規(guī)格來進(jìn)行生產(chǎn)

在Java中接口就可以看成是多個類的公共規(guī)范,是一種引用類型數(shù)據(jù)

接口關(guān)鍵字:interface

2.2接口的細(xì)節(jié)

接口同樣有一些需要注意的事項:

1.接口也是用來被其它類實現(xiàn)的,同樣不能實例化

2.接口里面的方法只能是抽象方法,默認(rèn)是public static修飾

3.接口的成員變量默認(rèn)是靜態(tài)常量,所以必須初始化

4.接口被實現(xiàn)所使用的關(guān)鍵字為implements,類實現(xiàn)接口依舊要重寫接口中所有的抽象方法

5.接口不能有構(gòu)造方法和靜態(tài)代碼塊

6.接口繼承接口使用extends

7.創(chuàng)建接口時,接口的命名一般以大寫的字母“I”開頭(建議,非硬性要求)

8.接口也可以實現(xiàn)多態(tài)

接口在Java中最主要的作用就是實現(xiàn)多繼承

Java中一個類只能繼承一個父類,但它可以實現(xiàn)多個接口

抽象類和接口有相似的地方,不過二者之間最本質(zhì)的區(qū)別就是抽象類可以有普通成員方法和普通成員變量,而接口中的方法只能是抽象方法

抽象類和接口介紹完畢,下一篇會介紹Java中一些比較重要的接口

到此這篇關(guān)于Java由淺入深通關(guān)抽象類與接口上的文章就介紹到這了,更多相關(guān)Java抽象類與接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 把Java程序轉(zhuǎn)換成exe,可直接運(yùn)行的實現(xiàn)

    把Java程序轉(zhuǎn)換成exe,可直接運(yùn)行的實現(xiàn)

    這篇文章主要介紹了把Java程序轉(zhuǎn)換成exe,可直接運(yùn)行的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 基于SpringBoot的Dubbo泛化調(diào)用的實現(xiàn)代碼

    基于SpringBoot的Dubbo泛化調(diào)用的實現(xiàn)代碼

    這篇文章主要介紹了基于SpringBoot的Dubbo泛化調(diào)用的實現(xiàn),從泛化調(diào)用實現(xiàn)的過程來看,我們可以對自己提供所有服務(wù)進(jìn)行測試,不需要引入調(diào)用的接口,減少代碼的侵入,需要的朋友可以參考下
    2022-04-04
  • Spring Framework遠(yuǎn)程代碼執(zhí)行漏洞分析(最新漏洞)

    Spring Framework遠(yuǎn)程代碼執(zhí)行漏洞分析(最新漏洞)

    Spring Framework 是一個開源應(yīng)用框架,旨在降低應(yīng)用程序開發(fā)的復(fù)雜度,它具有分層體系結(jié)構(gòu),允許用戶選擇組件,同時還為 J2EE 應(yīng)用程序開發(fā)提供了一個有凝聚力的框架,對Spring遠(yuǎn)程代碼執(zhí)行漏洞相關(guān)知識感興趣的朋友一起看看吧
    2022-04-04
  • ibatis學(xué)習(xí)之搭建Java項目

    ibatis學(xué)習(xí)之搭建Java項目

    本文的主要內(nèi)容是簡單介紹了ibatis和如何通過iBatis搭建JAVA項目,包含了一個相關(guān)實例,需要的朋友可以參考下。
    2017-09-09
  • Servlet文件的上傳與下載詳解

    Servlet文件的上傳與下載詳解

    很多朋友不清楚在Servlet中怎么上傳下載文件,談到這個問題,首先需要我們掌握開發(fā)servlet的步驟,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2022-06-06
  • SpringBoot?配置文件總結(jié)

    SpringBoot?配置文件總結(jié)

    SpringBoot中提供一個全局的配置文件:application.properties,這個配置文件的作用就是,允許我們通過這個配置文件去修改Spring?Boot自動配置的默認(rèn)值,本文詳細(xì)總結(jié)了SpringBoot配置文件,文中有詳細(xì)的代碼示例,感興趣的同學(xué)可以參考下
    2023-05-05
  • Spring Data JPA進(jìn)行數(shù)據(jù)分頁與排序的方法

    Spring Data JPA進(jìn)行數(shù)據(jù)分頁與排序的方法

    這篇文章主要介紹了Spring Data JPA進(jìn)行數(shù)據(jù)分頁與排序的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • Java中字符串截取方法詳解及實際應(yīng)用小結(jié)

    Java中字符串截取方法詳解及實際應(yīng)用小結(jié)

    java中截取字符串的常用方法是使用String類的substring方法,本文通過實例代碼給大家介紹Java中字符串截取方法詳解及實際應(yīng)用小結(jié),感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • Java SPI簡單應(yīng)用案例詳解

    Java SPI簡單應(yīng)用案例詳解

    這篇文章主要介紹了Java SPI簡單應(yīng)用案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java cglib為實體類(javabean)動態(tài)添加屬性方式

    Java cglib為實體類(javabean)動態(tài)添加屬性方式

    這篇文章主要介紹了Java cglib為實體類(javabean)動態(tài)添加屬性方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02

最新評論

衡阳县| 顺平县| 六枝特区| 大埔区| 南汇区| 巧家县| 同德县| 特克斯县| 卫辉市| 信丰县| 宁晋县| 承德市| 黄大仙区| 曲水县| 江永县| 鹰潭市| 彩票| 贵定县| 开鲁县| 石棉县| 扬中市| 林州市| 盐津县| 湘西| 潜山县| 内江市| 红河县| 汉寿县| 观塘区| 台安县| 安义县| 崇明县| 出国| 安西县| 大兴区| 旌德县| 乐陵市| 东阿县| 吉安市| 富川| 玉屏|