java基礎(chǔ)第六篇之常用思想锦针、封裝它浅、繼承和多態(tài)

a.累加求和思想:求1~100的和,求數(shù)組/集合中元素的和,求偶數(shù)的數(shù),求總分

? ? int sum=0//循環(huán)外部定義sum變量,循環(huán)里面對(duì)每個(gè)元素累加


? ? for (; ; ) {

? ? //sum+=數(shù)據(jù)?

? ? }


? ? System.out.println(sum);

? b.計(jì)數(shù)器思想:折紙次數(shù),水仙花個(gè)數(shù)

?? int count=0;

?? for (; ; ) {//這只是個(gè)結(jié)構(gòu)

? //滿足某些條件 count++

?? }

?? System.out.println(count);


? c.拆解邏輯思想:把大問(wèn)題拆成小問(wèn)題,每個(gè)小問(wèn)題考慮用方法實(shí)現(xiàn)

? ? 1.字符數(shù)組為了使用String類中的方法,把字符數(shù)組變成字符串

? ? 2.已知文件中存在用戶名,用戶錄入判斷是否重復(fù)

? ? ? a.讀取文件中的內(nèi)容=>存儲(chǔ)集合中

? ? ? b.拿著用戶錄入的用戶名與集合中的用戶名一一對(duì)比

? ? ? ? 一旦發(fā)現(xiàn)重復(fù),立馬返回false,否則返回true


? d.重置標(biāo)記思想

? ? 1.已知容器中裝滿了數(shù)據(jù),我們要在容器查找某個(gè)元素是否已經(jīng)存在

? ? String[] str={"魚(yú)翅","鮑魚(yú)","海參","海膽"}

? ? String findStr="鮑魚(yú)";//String findStr="海馬"


? ? boolean flag=false;//為了區(qū)分找到和循環(huán)遍歷完沒(méi)找到的兩種情況

? ? for (int i=0;i<str.length;i++ ) {

?? ? ? if(str[i].equals(findStr)){

? ? ? ? ? ? flag=true;

?? ? ? ? ? ? break;//找到之后直接停止查找

?? ? ? }

? ? }

?? ? if(flag){

?? ? //一定找到

?? ? }else{

?? ? //沒(méi)找到

?? ? }

面向過(guò)程:強(qiáng)調(diào)的過(guò)程,步驟

?* 面向?qū)ο? 是一種思想,強(qiáng)調(diào)對(duì)象

?*

?*? 在現(xiàn)實(shí)生活中:先有對(duì)象,類是我們?nèi)烁鶕?jù)實(shí)物的特征分類

?*? 在代碼中:必須先有類,通過(guò)類可以創(chuàng)建無(wú)數(shù)個(gè)對(duì)象

?* this關(guān)鍵字:

?* 1.this 的作用:

?* 區(qū)分局部變量和成員變量同名的情況

?* this.xxx 那么這個(gè)xxx是成員變量

?* 沒(méi)有this. 比如? name,那么這個(gè)是指局部變量

?*? 2.this的本質(zhì)

?*? this代表當(dāng)前對(duì)象,就是this所在的方法,被誰(shuí)調(diào)用,誰(shuí)就是當(dāng)前對(duì)象

?匿名對(duì)象:

?* ? 沒(méi)有名字的對(duì)象,是指只創(chuàng)建對(duì)象 但是不用變量來(lái)接收

?* 匿名對(duì)象的特點(diǎn):

?* 匿名也是一個(gè)對(duì)象,完全擁有對(duì)象的功能

?* 1.匿名對(duì)象.成員變量 = 10;

?* 2.syso(匿名對(duì)象.成員變量);

?* 3.匿名對(duì)象.方法名();

?*? 缺點(diǎn):一個(gè)匿名對(duì)象只能使用一次

?*

?*? 當(dāng)一個(gè)對(duì)象 我只想使用一次的時(shí)候,那么可以考慮用匿名對(duì)象

?方法的參數(shù):可以是基本類型,也可以是引用類型

?* 如果方法參數(shù)是引用類型,那么調(diào)用方法時(shí)需要的是該引用類型的對(duì)象

?*

?* 舉例子:殺孫猴子

?*

?* 方法的返回值:可以void 可以基本類型,也可以是引用類型

?* 如果方法的返回值是引用類型,那么調(diào)用方法 我們要返回的是該類的一個(gè)對(duì)象

?繼承:java面向?qū)ο蟮氖侨筇匦灾?封裝,繼承,多態(tài))

?*

?封裝:當(dāng)代碼多了,用方法封裝,當(dāng)方法多了,用類封裝,當(dāng)類多了,用包封裝

?* 組合關(guān)系:

?* 當(dāng)一個(gè)自定義類型A的成員變量的數(shù)據(jù)類型是自定義類型B時(shí)译柏,A類與B類叫做組合關(guān)系。

?*

?* 舉例: 家庭

?* public class Family{

?* private Person wife;

?* private Person Husband;

?* }

?*

?* 現(xiàn)實(shí)生活中的繼承: 由孩子 繼承? 父輩的財(cái)產(chǎn)

?*

?* 代碼中繼承: 由 一個(gè)類(子類/派生類) 去繼承另外一個(gè)類(父類/超類/基類)

?* 子類可以繼承父類一切的可繼承的屬性和方法

?*

?* 繼承的代碼格式:

?* public class 子類名字? extends 父類名字{

?* //成員變量

?* //成員方法

?* }

?*

?* 舉例: 員工類作為父類,他有三個(gè)子類(教師,助教,班主任)

?1.繼承過(guò)程中 子父類成員變量的特點(diǎn):

?* 通過(guò)子類對(duì)象訪問(wèn)成員變量時(shí):

?* 如果這個(gè)成員變量子類有,那么優(yōu)先訪問(wèn)子類自己的

?* 如果這個(gè)成員變量子類沒(méi)有,那么再去方問(wèn)父類繼承下來(lái)的

?* 如果父類也沒(méi)有,編譯就報(bào)錯(cuò)

?*

?* 2.繼承過(guò)程中 子父類成員方法的特點(diǎn):

?* 成員方法的特點(diǎn)和上面的成員變量的特點(diǎn)是一樣

?*

?* 總結(jié):繼承過(guò)程中 子父類成員變量/成員方法的特點(diǎn):

?* 子類有用子類自己的,子類沒(méi)有再去找父類,父類還沒(méi)有編譯報(bào)錯(cuò)

?java中類的設(shè)計(jì)原則:

?* 向上抽取共性原則

?*

?* 定義4個(gè)類:

?* 貓,狗,樹(shù),花

?繼承中子類中出現(xiàn)與父類重名的成員變量

?*

?* 1.this:區(qū)分成員變量和局部變量同名時(shí)

?*

?* 2.super:只能在子類中使用,顯示訪問(wèn)父類繼承過(guò)來(lái)變量或者方法

?* 格式:super.變量名

?* super.方法名();

?* 作用:區(qū)分父類繼承過(guò)來(lái)的成員變量 和 子類自己擁有的成員變量同名的情況

?繼承中方法重寫(xiě)

?*

?* 1.方法的重載(overload):在一個(gè)類中,java允許方法名相同 但是參數(shù)列表必須不同

?* 參數(shù)列表必須不同:參數(shù)的個(gè)數(shù),參數(shù)的類型,參數(shù)的順序不同

?*

?* 2.方法的重寫(xiě)/覆寫(xiě)/覆蓋(override):子類和父類中的方法的關(guān)系,子類出現(xiàn)了父類一模一樣的方法

? 總結(jié)以上案例:什么時(shí)候需要重寫(xiě)父類的方法?

?* 當(dāng)子類發(fā)現(xiàn)父類的某一個(gè)方法,對(duì)于子類來(lái)說(shuō)不適合,那么子類可以重寫(xiě)

? this.成員變量: 訪問(wèn)本類自己的成員變量

?* this.成員方法: 訪問(wèn)本類自己的成員方法

?*

?* super.成員變量:訪問(wèn)父類繼承過(guò)來(lái)的成員變量

?* super.成員方法:訪問(wèn)父類繼承過(guò)來(lái)的成員方法

?* super表示子類中父類繼承過(guò)來(lái)的成員的標(biāo)識(shí).

?* 除了以上用法 還有下面的用法

?*

?* this();//this 的語(yǔ)句形式

?* 在本類內(nèi)部,可以調(diào)用其他的構(gòu)造

?* this(參數(shù));//在本類內(nèi)部調(diào)用其他構(gòu)造

?*

?* 需求1,創(chuàng)建一個(gè)Dog的對(duì)象,要求:無(wú)論通過(guò)何種構(gòu)造方法創(chuàng)建,Dog對(duì)象的年齡就是10歲.

?*

?* super();//super的語(yǔ)句形式

?* 在本類內(nèi)部調(diào)用父類的構(gòu)造

?* 子類所有的構(gòu)造(無(wú)論有參數(shù)的 還是無(wú)參數(shù)的)都會(huì)默認(rèn)第一行調(diào)用父類的無(wú)參數(shù)構(gòu)造

?*

?* 為什么子類會(huì)默認(rèn)調(diào)用父類的構(gòu)造:面向?qū)ο笤O(shè)計(jì)的一個(gè)原則 單一職責(zé)原則

?* 一個(gè)類 不能太"累",只負(fù)責(zé)自己數(shù)據(jù)

?面向?qū)ο?開(kāi)閉原則

?對(duì)修改關(guān)閉,對(duì)擴(kuò)展開(kāi)放.

?已經(jīng)寫(xiě)好的功能模塊(類),

?我們不建議修改,但是我們可以擴(kuò)展.

?抽象類:含有抽象方法的類叫做抽象類

?* 抽象類是不能創(chuàng)建對(duì)象(java的規(guī)定)

?* 抽象類天生就是作為父類

?*

?* 抽象方法:一個(gè)方法不知道怎么去實(shí)現(xiàn),那么我們可以不寫(xiě)方法體,還要在方法的前加上abstract修飾

?*

?*

?* 總結(jié):一個(gè)子類 繼承了抽象類, 那么必須重寫(xiě)抽象類中的所有抽象方法,然后才能創(chuàng)建對(duì)象

?* 否則,這個(gè)子類還是一個(gè)抽象類,不能創(chuàng)建對(duì)象

?*

?* 關(guān)于抽象類的注意事項(xiàng):

?* 1.抽象類 中 一定有抽象方法嗎?NO,如果一個(gè)類沒(méi)有抽象方法,也可以是抽象類,但是不讓我們創(chuàng)建該類的對(duì)象

?* 2.抽象類中是可以不定義抽象方法的姐霍,此時(shí)僅僅是不讓該類創(chuàng)建對(duì)象鄙麦,用于某些特殊的設(shè)計(jì)需要典唇。

?* 3.設(shè)計(jì)時(shí)由具體類抽取出抽象類,而開(kāi)發(fā)階段應(yīng)該先定義抽象父類胯府,再根據(jù)不同需求由父類定義子類介衔。

//子類繼承了抽象類,會(huì)報(bào)錯(cuò)

//1.給本類加上abstract修飾

//2.重寫(xiě)那個(gè)抽象方法

面向?qū)ο笫褂?

?* ? 名詞提煉法: 小明 在公交車(chē)上牽著一條嘴里叼著熱狗的狗

?* 小明:人類

?* 公交車(chē):車(chē)類

?* 熱狗:食物類

?* 狗:動(dòng)物/狗類

?*? 案例: 士兵突擊(標(biāo)題黨)

?* 一個(gè)士兵開(kāi)槍打死了一個(gè)鬼子

?* 士兵: Soldier

?*? 名字,等級(jí)

?*? 方法:開(kāi)槍

?* 槍:? Gun

?* 名稱,顏色

?* 方法:發(fā)射子彈

?* 鬼子:Animal

?* 昵稱

?* 方法:會(huì)死

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市盟劫,隨后出現(xiàn)的幾起案子夜牡,更是在濱河造成了極大的恐慌,老刑警劉巖侣签,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件塘装,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡影所,警方通過(guò)查閱死者的電腦和手機(jī)蹦肴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)猴娩,“玉大人阴幌,你說(shuō)我怎么就攤上這事【碇校” “怎么了矛双?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蟆豫。 經(jīng)常有香客問(wèn)我议忽,道長(zhǎng),這世上最難降的妖魔是什么十减? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任栈幸,我火速辦了婚禮,結(jié)果婚禮上帮辟,老公的妹妹穿的比我還像新娘速址。我一直安慰自己,他們只是感情好由驹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布芍锚。 她就那樣靜靜地躺著,像睡著了一般蔓榄。 火紅的嫁衣襯著肌膚如雪闹炉。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天润樱,我揣著相機(jī)與錄音,去河邊找鬼羡棵。 笑死壹若,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播店展,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼养篓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了赂蕴?” 一聲冷哼從身側(cè)響起柳弄,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎概说,沒(méi)想到半個(gè)月后碧注,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡糖赔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年萍丐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片放典。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡逝变,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奋构,到底是詐尸還是另有隱情壳影,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布弥臼,位于F島的核電站宴咧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏醋火。R本人自食惡果不足惜悠汽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芥驳。 院中可真熱鬧柿冲,春花似錦、人聲如沸兆旬。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)丽猬。三九已至宿饱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間脚祟,已是汗流浹背谬以。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留由桌,地道東北人为黎。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓邮丰,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親铭乾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子剪廉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容