java編程語言中面向?qū)ο笫鞘裁匆馑?/h1>

小編給大家分享一下java編程語言中面向?qū)ο笫鞘裁匆馑?,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)專注于汝城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供汝城營銷型網(wǎng)站建設(shè),汝城網(wǎng)站制作、汝城網(wǎng)頁設(shè)計、汝城網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造汝城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供汝城網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

java面向?qū)ο笫鞘裁?

Java面向?qū)ο笤斀?/strong>

前言:接觸項目開發(fā)也有很長一段時間了,最近開始萌發(fā)出想回過頭來寫寫以前學(xué)過的基礎(chǔ)知識的想法。一是原來剛開始學(xué)習(xí)接觸編程,一個人跌跌撞撞摸索著往前走,初學(xué)的時候很多東西理解的也懵懵懂懂,后來實踐的多了,有些東西才慢慢清楚;二是經(jīng)過一定的實踐之后,反過頭來再去學(xué)習(xí)一些基礎(chǔ)東西才能夠理解的更透徹;三是有些東西基礎(chǔ)但是確很重要,是值得好好搞一搞的。

1、面向?qū)ο?/strong>

面向?qū)ο螅∣bject Oriented)是一種新興的程序設(shè)計方法,或者是一種新的程序設(shè)計規(guī)范(paradigm),其基本思想是使用對象、類、繼承、封裝、多態(tài)等基本概念來進(jìn)行程序設(shè)計。從現(xiàn)實世界中客觀存在的事物(即對象)出發(fā)來構(gòu)造軟件系統(tǒng),并且在系統(tǒng)構(gòu)造中盡可能運用人類的自然思維方式。

2、對象

對象是系統(tǒng)中用來描述客觀事物的一個實體,它是構(gòu)成系統(tǒng)的一個基本單位。一個對象由一組屬性和對這組屬性進(jìn)行操作的一組服務(wù)組成。

類的實例化可生成對象,一個對象的生命周期包括三個階段:生成、使用、消除。

當(dāng)不存在對一個對象的引用時,該對象成為一個無用對象。Java的垃圾收集器自動掃描對象的動態(tài)內(nèi)存區(qū),把沒有引用的對象作為垃圾收集起來并釋放。當(dāng)系統(tǒng)內(nèi)存用盡或調(diào)用System.gc( )要求垃圾回收時,垃圾回收線程與系統(tǒng)同步運行。

3、類

類是具有相同屬性和方法的一組對象的集合,它為屬于該類的所有對象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和方法兩個主要部分。在面向?qū)ο蟮木幊陶Z言中,類是一個獨立的程序單位,它應(yīng)該有一個類名并包括屬性和方法兩個主要部分。

Java中的類實現(xiàn)包括兩個部分:類聲明和類體。

類聲明

[public][abstract|final] class className [extends superclassName] [implements interfaceNameList]{……}

其中,修飾符public,abstract,final 說明了類的屬性,className為類名,superclassName為類的父類的名字,interfaceNameList為類所實現(xiàn)的接口列表。

類體

class className{
	[public | protected | private ] [static] [final] [transient] [volatile] type variableName;//成員變量
	[public | protected | private ] [static] [final | abstract] [native] [synchronized] returnType methodName([paramList]) [throws exceptionList]{
		statements
	}//成員方法
}

成員變量限定詞的含義:

? static: 靜態(tài)變量(類變量)

? final: 常量;transient: 暫時性變量,用于對象存檔,用于對象的串行化

? volatile: 貢獻(xiàn)變量,用于并發(fā)線程的共享

方法的實現(xiàn)也包括兩部分內(nèi)容:方法聲明和方法體。

方法聲明

方法聲明中的限定詞的含義:

? static: 類方法,可通過類名直接調(diào)用

? abstract: 抽象方法,沒有方法體

? final: 方法不能被重寫

? native: 集成其它語言的代碼

? synchronized: 控制多個并發(fā)線程的訪問

方法聲明包括方法名、返回類型和外部參數(shù)。其中參數(shù)的類型可以是簡單數(shù)據(jù)類型,也可以是復(fù)合數(shù)據(jù)類型(又稱引用數(shù)據(jù)類型)。
對于簡單數(shù)據(jù)類型來說,java實現(xiàn)的是值傳遞,方法接收參數(shù)的值,但不能改變這些參數(shù)的值。如果要改變參數(shù)的值,則用引用數(shù)據(jù)類型,因為引用數(shù)據(jù)類型傳遞給方法的是數(shù)據(jù)在內(nèi)存中的地址,方法中對數(shù)據(jù)的操作可以改變數(shù)據(jù)的值。

方法體

方法體是對方法的實現(xiàn),它包括局部變量的聲明以及所有合法的Java指令。方法體中聲明的局部變量的作用域在該方法內(nèi)部。若局部變量與類的成員變量同名,則類的成員變量被隱藏。

為了區(qū)別參數(shù)和類的成員變量,我們必須使用this。this用在一個方法中引用當(dāng)前對象,它的值是調(diào)用該方法的對象。返回值須與返回類型一致,或者完全相同,或是其子類。當(dāng)返回類型是接口時,返回值必須實現(xiàn)該接口。

構(gòu)造方法

? 構(gòu)造方法是一個特殊的方法。Java 中的每個類都有構(gòu)造方法,用來初始化該類的一個對象。

? 構(gòu)造方法具有和類名相同的名稱,而且不返回任何數(shù)據(jù)類型。

? 重載經(jīng)常用于構(gòu)造方法。

? 構(gòu)造方法只能由new運算符調(diào)用

4、面向?qū)ο蟮幕咎匦?/strong>

封裝

封裝性就是盡可能的隱藏對象內(nèi)部細(xì)節(jié),對外形成一道邊界,只保留有限的接口和方法與外界進(jìn)行交互。封裝的原則是使對象以外的部分不能隨意的訪問和操作對象的內(nèi)部屬性,從而避免了外界對對象內(nèi)部屬性的破壞。

可以通過對類的成員設(shè)置一定的訪問權(quán)限,實現(xiàn)類中成員的信息隱藏。

? private:類中限定為private的成員,只能被這個類本身訪問。如果一個類的構(gòu)造方法聲明為private,則其它類不能生成該類的一個實例。

? default:類中不加任何訪問權(quán)限限定的成員屬于缺省的(default)訪問狀態(tài),可以被這個類本身和同一個包中的類所訪問。

? protected:類中限定為protected的成員,可以被這個類本身、它的子類(包括同一個包中以及不同包中的子類)和同一個包中的所有其他的類訪問。

? public:類中限定為public的成員,可以被所有的類訪問。

java編程語言中面向?qū)ο笫鞘裁匆馑?></p><p><strong>繼承</strong></p><p>子類的對象擁有父類的全部屬性與方法,稱作子類對父類的繼承。</p><p>? Java中父類可以擁有多個子類,但是子類只能繼承一個父類,稱為單繼承。</p><p>? 繼承實現(xiàn)了代碼的復(fù)用。</p><p>? Java中所有的類都是通過直接或間接地繼承java.lang.Object類得到的。</p><p>? 子類不能繼承父類中訪問權(quán)限為private的成員變量和方法。</p><p>? 子類可以重寫父類的方法,即命名與父類同名的成員變量。</p><p>Java中通過<strong>super</strong>來實現(xiàn)對父類成員的訪問,super用來引用當(dāng)前對象的父類。super 的使用有三種情況:</p><p>? 訪問父類被隱藏的成員變量,如:super.variable;</p><p>? 調(diào)用父類中被重寫的方法,如:super.Method([paramlist]),super()調(diào)用父類構(gòu)造方法;</p><p>? 調(diào)用父類的構(gòu)造函數(shù),如:super([paramlist]);</p><p><strong>多態(tài)</strong></p><p>對象的多態(tài)性是指在父類中定義的屬性或方法被子類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個屬性或方法在父類及其各個子類中具有不同的語義。例如:"幾何圖形"的"繪圖"方法,"橢圓"和"多邊形"都是"幾何圖"的子類,其"繪圖"方法功能不同。</p><p>Java的多態(tài)性體現(xiàn)在兩個方面:由方法重載實現(xiàn)的靜態(tài)多態(tài)性(編譯時多態(tài))和方法重寫實現(xiàn)的動態(tài)多態(tài)性(運行時多態(tài))。</p><p>? 編譯時多態(tài):在編譯階段,具體調(diào)用哪個被重載的方法,編譯器會根據(jù)參數(shù)的不同來靜態(tài)確定調(diào)用相應(yīng)的方法。</p><p>? 運行時多態(tài):由于子類繼承了父類所有的屬性(私有的除外),所以子類對象可以作為父類對象使用。程序中凡是使用父類對象的地方,都可以用子類對象來代替。一個對象可以通過引用子類的實例來調(diào)用子類的方法。</p><p><strong>重載(Overloading)</strong></p><p>? 方法重載是讓類以統(tǒng)一的方式處理不同數(shù)據(jù)類型的手段。</p><p>? 一個類中可以創(chuàng)建多個方法,它們具有相同的名字,但具有不同的參數(shù)和不同的定義。調(diào)用方法時通過傳遞給它們的不同參數(shù)個數(shù)和參數(shù)類型來決定具體使用哪個方法。</p><p>? 返回值類型可以相同也可以不相同,無法以返回型別作為重載函數(shù)的區(qū)分標(biāo)準(zhǔn)。</p><p><strong>重寫(Overriding)</strong></p><p>? 子類對父類的方法進(jìn)行重新編寫。如果在子類中的方法與其父類有相同的的方法名、返回類型和參數(shù)表,我們說該方法被重寫 (Overriding)。</p><p>? 如需父類中原有的方法,可使用super關(guān)鍵字,該關(guān)鍵字引用了當(dāng)前類的父類。</p><p>? 子類函數(shù)的訪問修飾權(quán)限不能低于父類的。</p><p>以上是java編程語言中面向?qū)ο笫鞘裁匆馑嫉乃袃?nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!</p>            <p>
                分享文章:<a href=java編程語言中面向?qū)ο笫鞘裁匆馑?/a>
分享路徑:http://muchs.cn/article8/gppjop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、小程序開發(fā)、企業(yè)網(wǎng)站制作建站公司、自適應(yīng)網(wǎng)站企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)