日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java笔记之抽象类和接口

發(fā)布時(shí)間:2025/3/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java笔记之抽象类和接口 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

java筆記之抽象類和接口是開(kāi)發(fā)人員的設(shè)計(jì)工具

正文

1.抽象類

客觀存在的一類事物,當(dāng)這類事物都是抽象的,無(wú)法具體的描述。

1)語(yǔ)法:

修飾符 abstract class 類名{

}

2)特點(diǎn):

抽象類是一個(gè)不具體的類

抽象類可以包含不具體的行為

是一個(gè)規(guī)范,用來(lái)約定子類或者小類型的行為

3) 抽象類的特性

抽象類不能進(jìn)行實(shí)例化

使用abstract關(guān)鍵字定義抽象類

抽象類中的抽象方法也需要用abstract修飾,同時(shí)不能存在方法體

抽象類中不一定有抽象方法

有抽象方法的類,一定是抽象類

如果子類繼承了抽象類,那么子類必須實(shí)現(xiàn)抽象類的抽象方法;如果子類繼承了抽象類,而不去實(shí)現(xiàn)抽象類,子類也必須為抽象類

如果抽象類中沒(méi)有定義構(gòu)造器,那么javac會(huì)自動(dòng)加上默認(rèn)構(gòu)造器;如果抽象類中有了有參構(gòu)造器,且沒(méi)聲明無(wú)參構(gòu)造器,那么在子類構(gòu)造器中需要顯式的調(diào)用抽象類的構(gòu)造器。

4)抽象類的使用場(chǎng)景

抽象類用于分析和設(shè)計(jì)的工具

抽象類是一個(gè)規(guī)范,用來(lái)約束子類

5)抽象類與類的區(qū)別:

1)相同點(diǎn):

語(yǔ)法上都要使用class關(guān)鍵字

都包含屬性和方法

都可以進(jìn)行方法的重載

如果沒(méi)有提供構(gòu)造器,那么javac會(huì)自動(dòng)加上

子類都可以重寫(xiě)父類的方法

具體的子類在創(chuàng)建對(duì)象時(shí),都需要調(diào)用父類的構(gòu)造器

都可以定義引用來(lái)指向子類或小類型所創(chuàng)建的對(duì)象(多態(tài))

多可以被抽象類和具體類所繼承

2))不同點(diǎn)

抽象類不能進(jìn)行實(shí)例化

抽象類可涵有抽象的方法

2.javaBean規(guī)范:(針對(duì)實(shí)體類)

是一種編程習(xí)慣。按照此規(guī)范定義出來(lái)的java類使用起來(lái)比較方便。

1)內(nèi)容:

必須有包

必須為屬性提供getter和setter

必須提供無(wú)參構(gòu)造器

實(shí)現(xiàn)序列化(I/O流)

重寫(xiě)hashCode(),eqauls(),toString()

3.接口:

是一種規(guī)范和約束,用來(lái)限定實(shí)現(xiàn)類里面包含的行為

1)目的:

為了解決java單繼承的弊端。同時(shí)區(qū)分出解決問(wèn)題的中心

2)語(yǔ)法:

Interface 接口名{

接口內(nèi)容(常量、抽象方法)

}

注:類實(shí)現(xiàn)接口的語(yǔ)法:

修飾符 class 類名 implements 接口1,接口2{

類體

}

3)接口的特性:

接口不能實(shí)例化(除非是有匿名內(nèi)部類實(shí)現(xiàn)它)

接口中包含的方法全都是抽象方法,屬性均為常量(public static final 數(shù)據(jù)類型 變量名=值)

4)接口可以多繼承接口

語(yǔ)法:

Interface 接口名 extends 接口1,接口2{

接口體

}

5)借口可以定義變量引用指向?qū)崿F(xiàn)類的對(duì)象(接口的多態(tài))

注:接口可以作為變量、參數(shù)和返回值來(lái)引用實(shí)現(xiàn)類的對(duì)象

4.軟件的設(shè)計(jì)原則:

高內(nèi)聚,低耦合

高內(nèi)聚:在類內(nèi)部,關(guān)聯(lián)度越高越好

低耦合:在類與類之間,關(guān)聯(lián)度越低越好

1)實(shí)現(xiàn)方式:

高內(nèi)聚:一個(gè)類只做一件事

低耦合:面向接口編程

注:面向接口編程:

在軟件開(kāi)發(fā)過(guò)程中,在類中調(diào)用另一個(gè)類的方法。他們之間的關(guān)聯(lián)度很高;那么可以使用接口替代類,減低他們之間關(guān)聯(lián)度(可進(jìn)一步采用工廠模式來(lái)屏蔽對(duì)象的創(chuàng)建過(guò)程)

5.面向接口的編程步驟:

1)抽取接口:

注:根據(jù)名詞中存在的相同的行為i,根據(jù)is-a關(guān)系去建立,根據(jù)系統(tǒng)的重點(diǎn)研究對(duì)象來(lái)確定使用繼承(抽象類、類)或?qū)崿F(xiàn)(接口)

2)定義接口:

將使用的行為在接口中定義出來(lái),形成規(guī)范和約束

3)建立實(shí)現(xiàn)類并實(shí)現(xiàn)接口

注:好處,提高了系統(tǒng)的可擴(kuò)展性和可維護(hù)性。

總結(jié)

采用接口降低調(diào)用者與被調(diào)用者之間的耦合度:具體做法為,采用接口引用實(shí)現(xiàn)類對(duì)象,也可采用接口引用通過(guò)工廠創(chuàng)建的對(duì)象。




轉(zhuǎn)載于:https://www.cnblogs.com/zhang_kun_nan/p/3636488.html

總結(jié)

以上是生活随笔為你收集整理的java笔记之抽象类和接口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。