日常學(xué)習(xí) 8.04 Java面向?qū)ο笕筇匦灾?類的封裝
8.04
面向?qū)ο筇匦裕悍庋b,繼承,多態(tài)
Java的四大特性(封裝,繼承,多態(tài),抽象)
Java面向?qū)ο笕筇匦灾?類的封裝
普通封裝
如果要實(shí)現(xiàn)一些功能,或者儲(chǔ)存一些數(shù)據(jù)
可以將這些數(shù)據(jù)和功能全部集中在一個(gè)類中
在需要的時(shí)候創(chuàng)建出本類的對(duì)象,就可以使用。
(class類是對(duì)一類事物的描述或者抽象)
Java類的封裝
在普通封裝的基礎(chǔ)上,進(jìn)一步進(jìn)行一些代碼限制,提高代碼數(shù)據(jù)的安全性
1.將所有的屬性私有化 private 除了本類之外,外界無(wú)法訪問(wèn)
Java四大權(quán)限修飾符
-public 公共的權(quán)限修飾? 當(dāng)前工程下任何類都能訪問(wèn)
-protected? 受保護(hù)的權(quán)限修飾? 同一個(gè)包能訪問(wèn),如果不同包,只有子類能訪問(wèn)
-什么都不寫? 默認(rèn)權(quán)限修飾? 只能在同一個(gè)包訪問(wèn)
-private? 私有的權(quán)限修飾? 只有本類能訪問(wèn)
2.對(duì)外提供公共的訪問(wèn)方式
-獲取屬性方法
get屬性名() 有返回值,無(wú)參數(shù)? (注意屬性名首字母大寫!)
-修改屬性方法
set屬性名() 無(wú)返回值,有參數(shù)? (注意屬性名首字母大寫?。?/p>
this關(guān)鍵字
含義:代表當(dāng)前類的對(duì)象
作用:1.能調(diào)用除當(dāng)前類所有的屬性和方法
? 2.當(dāng)形式參數(shù)名和成員屬性名一樣時(shí),為了區(qū)分等號(hào)左右兩邊
使用this來(lái)代表本類的屬性
類的封裝的作用
1.提高數(shù)據(jù)的安全性
2.遵循java的開發(fā)規(guī)范,未來(lái)很多框架都要求必須進(jìn)行類的封裝
封裝的場(chǎng)景
只要有成員屬性的類,都要進(jìn)行封裝
構(gòu)造的特性
如果什么構(gòu)造方法都不寫,此類默認(rèn)隱藏一個(gè)空參構(gòu)造
如果只寫有參,不寫空參,那么隱藏的空參構(gòu)造就會(huì)被覆蓋
無(wú)論是否使用空參構(gòu)造,都順手寫一個(gè)空參構(gòu)造
static關(guān)鍵字
含義:靜態(tài)的修飾符(共享)
修飾成員屬性-->靜態(tài)屬性
-歸屬于類,使用類名調(diào)用
-可以被本類名所有的對(duì)象所共享
修飾成員方法-->靜態(tài)方法
-歸屬于類,使用類名調(diào)用
-可以被本類名所有的對(duì)象所共享
-靜態(tài)方法無(wú)法直接訪問(wèn)非靜態(tài)的數(shù)據(jù)
如果非要訪問(wèn),必須創(chuàng)建對(duì)象
匿名對(duì)象
匿名:沒(méi)有名字(對(duì)象名),沒(méi)有引用
new Student();
有名:有對(duì)象名,有引用
如:Student s = new Student();? ?對(duì)象名s
匿名對(duì)象的作用:
-由于沒(méi)有引用,所有無(wú)法復(fù)用,只能做一次性的事情
作業(yè)的設(shè)計(jì)(類的設(shè)計(jì))
-技能類
-英雄類
-技能的數(shù)組
-模擬數(shù)據(jù)庫(kù)類 Database
-英雄的數(shù)組
-應(yīng)用程序的類 Application
-靜態(tài)方法 run方法(創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象,各種邏輯,各種循環(huán))
-測(cè)試類 Test/Main
-只有main方法
-一行代碼:應(yīng)用程序類.run();
支線任務(wù):Java的類圖
