javaSE核心技術(shù)-面向?qū)ο蠡A(chǔ)

面向過程編程思想

面向過程的抽象是將實(shí)現(xiàn)一個(gè)功能的一組命令組合成為一個(gè)函數(shù),這個(gè)函數(shù)就能實(shí)
現(xiàn)這一個(gè)功能,是對(duì)功能實(shí)現(xiàn)的一種抽象,有了函數(shù),我們就沒有必要重復(fù)寫很多
的代碼(特殊地譬如遞歸,可通過循環(huán)替代),僅僅一個(gè)代碼集合名稱以及參數(shù)就能
調(diào)用抽象的命令集合。

面向?qū)ο缶幊贪?/h4>

面向?qū)ο蟮姆治觯∣OA,Object Oriented Analysis)
面向?qū)ο蟮脑O(shè)計(jì)(OOD,Object Oriented Design)
面向?qū)ο蟮木幊虒?shí)現(xiàn)(OOP,Object Oriented Programming)
面向?qū)ο缶幊趟枷雽?shí)際上就是一種運(yùn)用對(duì)象、類、繼承、封裝、聚合、關(guān)
聯(lián)、消息、多態(tài)性等概念來構(gòu)造系統(tǒng)的軟件開發(fā)方法。
實(shí)現(xiàn)


圖片.png

分析系統(tǒng)中涉及的事務(wù),根據(jù)“對(duì)象”抽象出“類”;
找出對(duì)象共有的特點(diǎn),并且在類中定義為屬性;
找出對(duì)象共有的行為,并且定義為類的方法。

面向?qū)ο蟾拍?/h1>

-抽象(動(dòng)詞)
-對(duì)象
-類:類是一組具有相同屬性和行為的對(duì)象的抽象,類的作用是用來創(chuàng)建對(duì)象,對(duì)
象是類的一個(gè)實(shí)例
-類和對(duì)象的關(guān)系
抽象和具體的關(guān)系。
每一個(gè)類在某一時(shí)刻都有零個(gè)或更多的實(shí)例, 類是生成對(duì)象的模板
一個(gè)類定義了使用哪些數(shù)據(jù)來描述屬性,每一個(gè)對(duì)象都有相應(yīng)的屬性值數(shù)據(jù)
,一個(gè)類通過一系列方法來定義行為,這些方法能在每個(gè)對(duì)象中被激活

類的定義

把相似的對(duì)象劃歸成一個(gè)類。
在軟件設(shè)計(jì)中,類,就是一個(gè)模板,它定義了通用于一個(gè)特定種
類的所有對(duì)象的屬性(變量)和行為(方法)。
格式:


圖片.png

編碼規(guī)范:
類名單詞首字母大寫
屬性和方法第一個(gè)單詞小寫,其他單詞首字母大寫

屬性和局部變量對(duì)比

局部變量
方法體中聲明的變量、方法中的參數(shù)或代碼塊中聲明的變量,都是局部
變量


圖片.png

屬性可以和局部變量同名,使用關(guān)鍵字this進(jìn)行區(qū)分


圖片.png

圖片.png

認(rèn)識(shí)對(duì)象

類和對(duì)象的關(guān)系
類是創(chuàng)建對(duì)象的模板,對(duì)象是類的實(shí)例。

對(duì)象的創(chuàng)建

什么是對(duì)象
類(class)是對(duì)某一類事物的描述
對(duì)象(object)是實(shí)際存在的某類事物的個(gè)體,也稱實(shí)例(instance)
創(chuàng)建語法語句:
Employee(類名) zhang(對(duì)象名)=new Employee(類名)

對(duì)象的使用

在其他類中,使用對(duì)象名點(diǎn)運(yùn)算符調(diào)用屬性和方法
-引用類的屬性:對(duì)象名。屬性
-引用類的方法:對(duì)象名。方法名(實(shí)參)

對(duì)象的創(chuàng)建

1.編寫一個(gè)類
2.在主函數(shù)中創(chuàng)建對(duì)象、
3.運(yùn)行有主函數(shù)的類
只有主函數(shù)的類才能運(yùn)行
無論有多少個(gè)類,只要主函數(shù)中創(chuàng)建對(duì)象,才會(huì)占用內(nèi)存。

創(chuàng)建多個(gè)對(duì)象

創(chuàng)建匿名對(duì)象
創(chuàng)建完對(duì)象,在調(diào)用該對(duì)象的屬性或方法時(shí),也可以不定義對(duì)象的句柄
,而直接調(diào)用這個(gè)對(duì)象的方法。這樣的對(duì)象叫匿名對(duì)象。
如果只使用該對(duì)象進(jìn)行一次方法或?qū)傩哉{(diào)用,可以創(chuàng)建匿名對(duì)象。

構(gòu)造方法

構(gòu)造器(constructor)
-構(gòu)造方法也是方法,但是它是特殊的方法而已
-所有對(duì)象都是通過構(gòu)造器來創(chuàng)建的
創(chuàng)建對(duì)象:類名 對(duì)象名=new 構(gòu)造方法();
構(gòu)造器(構(gòu)造方法/構(gòu)造器,constructor)特點(diǎn):
-構(gòu)造方法名必須與類名稱相同
-不含返回值類型,也沒有void
-不能在方法中用return語句返回一個(gè)值


圖片.png

構(gòu)造方法作用

構(gòu)造方法用來完成對(duì)象的創(chuàng)建,即完成對(duì)象的實(shí)例化
-在java中,每個(gè)類都至少有一個(gè)構(gòu)造器
-一個(gè)類可以不寫出構(gòu)造方法,編譯器會(huì)自動(dòng)給這個(gè)類增加一個(gè)構(gòu)造器,該構(gòu)造器沒有任何參數(shù),稱:默認(rèn)的空構(gòu)造器。

構(gòu)造方法重載

構(gòu)造方法可以像普通方法一樣發(fā)生重載,通常一個(gè)類中不止一個(gè)構(gòu)造方法,而是有多個(gè)不同參數(shù)的構(gòu)造器,用戶可以根據(jù)需要選擇不同的構(gòu)造器創(chuàng)建對(duì)象。
-一般可以使用構(gòu)造器來完成對(duì)成員變量的初始化。


圖片.png

有帶參的構(gòu)造器,那么不帶參的空構(gòu)造器不會(huì)自動(dòng)產(chǎn)生。為了防止在某
些情況下還想使用這樣的無參數(shù)默認(rèn)構(gòu)造器,因此最好還是養(yǎng)成寫出這
個(gè)無參數(shù)的構(gòu)造器來,以備后用。


圖片.png

構(gòu)造方法的調(diào)用

在其他類只能在創(chuàng)建對(duì)象時(shí)調(diào)用一次構(gòu)造方法。
普通方法可以在創(chuàng)建對(duì)象后,使用點(diǎn)運(yùn)算符調(diào)用多次。


圖片.png

多次調(diào)用構(gòu)造器,一個(gè)類可以實(shí)例化多個(gè)對(duì)象。


圖片.png

java包的概念

在Java中,包主要有以下用途 :
包允許將類組合成較小的單元
有助于避免命名沖突
包允許在更廣的范圍內(nèi)保護(hù)類、數(shù)據(jù)和方法
語法: package 包名:

Java類庫中常用的包

java.lang: java默認(rèn)包,任何程序中,該包都被自動(dòng)導(dǎo)入。

java.io:輸入/輸出操作有用的類的組成。

訪問同包中的類

位于同一包中的類可以直接訪問并使用

訪問不同包中的類

使用import關(guān)鍵字引入其他包中的類
必須在package聲明后面,類聲明前
import語句可以出現(xiàn)多次。


圖片.png

package和import說明

package說明:
package像是我們的姓,而class名稱就像是我們的名字
package和package的附屬關(guān)系用”.”來連接,這就像是復(fù)姓。

import說明:

import就是在java文件開頭的地方,先說明會(huì)用到哪些類。
接著就能在代碼中只用類名指定某個(gè)類,也就是只稱呼名字,不稱呼她的姓。


圖片.png

import使用通配符

import可以使用星號(hào)(*)通配符

代碼封裝

封裝關(guān)鍵字:
-private(私有):只能被該類的成員訪問,private權(quán)限最小,限制類外訪問。
-default(默認(rèn)):不使用權(quán)限修飾符時(shí)(即default)的成員在類內(nèi)以及
在同一個(gè)包中的其他類可以訪問。
public(公有):公有的,最高的訪問級(jí)別,public成員可以在所有其
他類中訪問


圖片.png

封裝的常規(guī)屬性
-將類中的屬性用private關(guān)鍵字進(jìn)行隱藏
-通過規(guī)定方法訪問屬性,一般通過set開頭的公有方法對(duì)屬性賦值,用get開頭的共有方法得到屬性的值。
-在方法中加入控制語句,對(duì)不合法數(shù)據(jù)進(jìn)行檢查。

靜態(tài):static關(guān)鍵字

static關(guān)鍵字可以修飾的元素
-屬性
所有對(duì)象共享,稱為靜態(tài)變量或類變量
不用static修飾的屬性稱為實(shí)例變量
注意:只能修飾屬性,不能修飾局部變量。
-方法
不需要實(shí)例化,可以直接訪問,稱靜態(tài)方法或類方法。
-代碼塊

靜態(tài)屬性

靜態(tài)變量和非靜態(tài)變量的區(qū)別是:靜態(tài)變量被所有的對(duì)象所共享,在內(nèi)
存中只有一個(gè)副本,它當(dāng)且僅當(dāng)在類初次加載時(shí)會(huì)被初始化。而非靜態(tài)
變量是對(duì)象所擁有的,在創(chuàng)建對(duì)象的時(shí)候被初始化,存在多個(gè)副本,各
個(gè)對(duì)象擁有的副本互不影響。

兩種方式訪問

直接訪問:類名.屬性
實(shí)例化后訪問:對(duì)象名.屬性(不建議使用)

靜態(tài)語句塊

一個(gè)類中由static關(guān)鍵字修飾的,不包含在任何方法體中的代碼塊
當(dāng)類被載入時(shí),靜態(tài)代碼塊被執(zhí)行,且只被執(zhí)行一次
靜態(tài)塊經(jīng)常用來進(jìn)行類屬性的初始化

單例模式

單例模式:保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)。
單例模式要點(diǎn):
-某個(gè)類只能有一個(gè)實(shí)例
-它必須自行創(chuàng)建這個(gè)實(shí)例
-必須自行向整個(gè)系統(tǒng)提供這個(gè)實(shí)例


圖片.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容