亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

1.抽象類

1.1抽象類概念

我們都知道對(duì)象是通過(guò)類來(lái)進(jìn)行描述的,但是不是說(shuō)所有的類都是用來(lái)描述對(duì)象的

一個(gè)類的類中沒(méi)有足夠的信息來(lái)描述一個(gè)具體的對(duì)象,這便是抽象類

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

1.2抽象方法

首先還是看看之前寫過(guò)的類:

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根本就沒(méi)有實(shí)現(xiàn)的必要,所以我們可以將其改成抽象方法

注意:抽象類可以沒(méi)有抽象方法,但抽象方法必須在抽象類里面

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.抽象類是用于被繼承的,所以無(wú)法實(shí)例化,除這點(diǎn)外它和普通的類沒(méi)有區(qū)別

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

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

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

5.final無(wú)法修飾抽象類和抽象方法

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

可能會(huì)有人覺(jué)得奇怪:普通類也可以作為父類被繼承,為什么還要再弄一個(gè)抽象類出來(lái)?

我們不妨假設(shè)一個(gè)場(chǎng)景:你在實(shí)例化對(duì)象的時(shí)候?qū)嵗烁割悓?duì)象,如下:

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

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

如果父類是抽象類,因?yàn)槌橄箢悷o(wú)法被實(shí)例化,所以編譯器會(huì)直接報(bào)錯(cuò),這樣問(wèn)題就能更早被發(fā)現(xiàn)

2.接口

2.1接口概念

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

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

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

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

接口同樣有一些需要注意的事項(xiàng):

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

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

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

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

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

6.接口繼承接口使用extends

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

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

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

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

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

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

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

相關(guān)文章

  • spring cloud 的監(jiān)控turbine-rabbitmq的示例

    spring cloud 的監(jiān)控turbine-rabbitmq的示例

    這篇文章主要介紹了spring cloud 的監(jiān)控turbine-rabbitmq的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Java中的InputStreamReader和OutputStreamWriter源碼分析_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java中的InputStreamReader和OutputStreamWriter源碼分析_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    本文通過(guò)示例代碼給大家解析了Java中的InputStreamReader和OutputStreamWriter知識(shí),需要的的朋友參考下吧
    2017-05-05
  • Java中MapStruct映射處理器報(bào)錯(cuò)的問(wèn)題解決

    Java中MapStruct映射處理器報(bào)錯(cuò)的問(wèn)題解決

    MapStruct是一個(gè)強(qiáng)大的Java映射框架,它能夠在編譯時(shí)生成映射代碼,,本文主要介紹了Java中MapStruct映射處理器報(bào)錯(cuò)的問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • java8如何根據(jù)list對(duì)象中的屬性過(guò)濾篩選

    java8如何根據(jù)list對(duì)象中的屬性過(guò)濾篩選

    這篇文章主要介紹了java8如何根據(jù)list對(duì)象中的屬性過(guò)濾篩選,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Jasypt對(duì)SpringBoot配置文件加密

    Jasypt對(duì)SpringBoot配置文件加密

    數(shù)據(jù)庫(kù)密碼直接明文寫在配置中,對(duì)安全來(lái)說(shuō),是一個(gè)很大的挑戰(zhàn)。一旦密碼泄漏,將會(huì)帶來(lái)很大的安全隱患。尤其在一些企業(yè)對(duì)安全性要求很高,因此我們就考慮如何對(duì)密碼進(jìn)行加密。本文著重介紹Jasypt對(duì)SpringBoot配置文件加密。
    2021-05-05
  • JavaWeb Spring依賴注入深入學(xué)習(xí)

    JavaWeb Spring依賴注入深入學(xué)習(xí)

    這篇文章主要為大家詳細(xì)介紹了JavaWeb Spring依賴注入,深入學(xué)習(xí)Spring依賴注入,感興趣的小伙伴們可以參考一下
    2016-09-09
  • JavaWeb中Struts2攔截器深入分析(一)

    JavaWeb中Struts2攔截器深入分析(一)

    這篇文章主要為大家詳細(xì)介紹了JavaWeb中Struts2攔截器的功能,感興趣的小伙伴們可以參考一下
    2016-06-06
  • mac系統(tǒng)剛安裝的idea打不開(kāi)的問(wèn)題及解決

    mac系統(tǒng)剛安裝的idea打不開(kāi)的問(wèn)題及解決

    這篇文章主要介紹了mac系統(tǒng)剛安裝的idea打不開(kāi)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Log4j_配置方法(全面講解)

    Log4j_配置方法(全面講解)

    下面小編就為大家?guī)?lái)一篇Log4j_配置方法(全面講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • mybatis中實(shí)現(xiàn)枚舉自動(dòng)轉(zhuǎn)換方法詳解

    mybatis中實(shí)現(xiàn)枚舉自動(dòng)轉(zhuǎn)換方法詳解

    在使用mybatis的時(shí)候經(jīng)常會(huì)遇到枚舉類型的轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于mybatis中實(shí)現(xiàn)枚舉自動(dòng)轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-08-08

最新評(píng)論