一面向?qū)ο蠡A(chǔ)
1 類(lèi):例如車(chē)有:小汽車(chē)、大卡車(chē)、三輪車(chē)、四驅(qū)車(chē)等等。但要用一個(gè)詞概括它們,則可以統(tǒng)稱(chēng)為車(chē)。現(xiàn)在這個(gè)“車(chē)”就相當(dāng)于 類(lèi)
2 抽象類(lèi):一個(gè)被 abstract 修飾的類(lèi),稱(chēng)之為抽象類(lèi)。
? ?規(guī)定:1)抽象類(lèi)不能被實(shí)例化。2)抽象類(lèi)中可以包含成員變量、方法、構(gòu)造器、初始化塊、內(nèi)部類(lèi),構(gòu)造器不能創(chuàng)建實(shí)例,只能被子類(lèi)調(diào)用。
抽象方法:主要是在普通方法上面加一個(gè)abstract修飾符,然后把普通方法的方法體(就是花括號(hào)中的代碼,包括花括號(hào))都去掉,再加一個(gè)分號(hào)即可。
3 枚舉類(lèi):是Java中比較特殊的類(lèi),通過(guò)enum關(guān)鍵字定義,枚舉類(lèi)中的常量用逗號(hào)分隔。一般表示一組常量,比如一年的 4 個(gè)季節(jié),一個(gè)年的 12 個(gè)月份,一個(gè)星期的 7 天,方向有東南西北等。
4 對(duì)象: 其實(shí)對(duì)象就是類(lèi)的實(shí)例化,如創(chuàng)建一個(gè)類(lèi)"車(chē)" ,創(chuàng)建一個(gè)類(lèi)的對(duì)象“小汽車(chē)”? 而且有顏色,大小,車(chē)速等等。
5 方法: 方法就是行為。還以車(chē)為例,小汽車(chē)可以載人、大卡車(chē)可以載貨。載人、載貨這倆個(gè)行為就可以作為方法。
6 構(gòu)造器:構(gòu)造器是一個(gè)特殊的方法。這個(gè)方法用于創(chuàng)建實(shí)例時(shí)執(zhí)行初始化。
7 變量:?1)局部變量 :局部變量定義在構(gòu)造方法,方法或者語(yǔ)句塊之中稱(chēng)之為局部變量。 局部變量存活在方法中,當(dāng)方法被銷(xiāo)毀則變量也就不存在。
? ? ? ? ? ? ?2)成員變量:成員變量定義在類(lèi)之中,方法體之外的變量。?
? ? ? ? ? ? ?3)類(lèi)變量:類(lèi)變量是static修飾的變量,但也是在類(lèi)之中,方法體之外。
8 接口(Interface):在JAVA編程語(yǔ)言中是一個(gè)抽象類(lèi)型,是抽象方法的集合,接口通常以interface來(lái)聲明。
9 包:為了更好地組織類(lèi),Java 提供了包機(jī)制,主要用于區(qū)別類(lèi)名的命名空間。
面向?qū)ο蟮奶匦?--繼承、封裝、多態(tài)、抽象
封裝:主要是把對(duì)象方法實(shí)現(xiàn)的細(xì)節(jié)封裝起來(lái),對(duì)外暴露公共方法。使用封裝不僅僅安全,更可以簡(jiǎn)化操。
繼承:主要子類(lèi)繼承父類(lèi)的方法。子類(lèi)獲取到父類(lèi)的全部方法和屬性。父類(lèi)的方法完全向子類(lèi)暴露,這也破環(huán)封裝。
多態(tài):同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。
? ? ? ? ? ?多態(tài)的實(shí)現(xiàn)方式:重寫(xiě)和重載。
? ? ? ? ? ? 好處:1通過(guò)重載同一方法具有不同使用的方式。
? ? ? ? ? ? ? ? ? ? ? ? 2當(dāng)把不同的子類(lèi)對(duì)象都當(dāng)作父類(lèi)類(lèi)型來(lái)看,可以屏蔽不同子類(lèi)對(duì)象之間的實(shí)現(xiàn)差異,從而寫(xiě)出通用的代碼達(dá)到通用編程,以適應(yīng)需求的不斷變化。
抽象:抽象就是把多個(gè)事物具有共同的特點(diǎn)抽取出來(lái),總結(jié)成為一個(gè)共同的模型,就是把復(fù)雜的事情簡(jiǎn)單化。