Java基礎(chǔ)之面向?qū)ο螅ㄒ唬?/h1>

一紧憾、了解面向?qū)ο?br>

? ? ? 面向?qū)ο螅阂环N基于面向過(guò)程的新的編程思想,顧名思義該思想是站在對(duì)象的角度思考問(wèn)題昌渤,我們把多個(gè)功能合理的放到不同對(duì)象里赴穗,強(qiáng)調(diào)的是具備某些功能的對(duì)象。

三大特征:

? ? ? ? ? 封裝(Encapsulation)膀息;封裝是指將對(duì)象的實(shí)現(xiàn)細(xì)節(jié)隱藏起來(lái)般眉,然后通過(guò)公共的方法來(lái)向外暴露該對(duì)象的功能。?

繼承(Inheritance)潜支;繼承是面向?qū)ο髮?shí)現(xiàn)軟件復(fù)用的重要手段甸赃,當(dāng)子類繼承父類后,子類是一種特殊的父類毁腿,能直接或間接獲得父類里的成員辑奈。

? ? ? ? ?多態(tài)(Polymorphism)苛茂;多態(tài)是可以直接把子類對(duì)象賦給父類變量,但是運(yùn)行時(shí)依然表現(xiàn)出子類的行為特征鸠窗,這意味著同一類型的對(duì)象在運(yùn)行時(shí)可能表現(xiàn)出不同的行為特征妓羊。

? ? ? ? ?類:類是對(duì)象的類型/模板。創(chuàng)建一個(gè)對(duì)象稍计,就是使用一個(gè)類作為構(gòu)建該對(duì)象的基礎(chǔ)躁绸。

? ? ? ? ? ? 具有相同特性(數(shù)據(jù)元素)和相同行為(功能)的對(duì)象的抽象就是類。因此臣嚣,對(duì)象的抽象是類净刮,類的具體化就是對(duì)象,也可以說(shuō)類的實(shí)例是對(duì)象硅则,類實(shí)際上就是一種數(shù)據(jù)類型淹父。

? ? ? ? ? ?類具有特性,對(duì)象的狀態(tài)怎虫,用成員變量來(lái)描述暑认。

? ? ? ? ? ?類具有功能,對(duì)象的行為大审,用方法來(lái)描述蘸际。

? ? ? ? ? ?類和對(duì)象之間的關(guān)系:

? ? ? ? ? ? ? ? ? ? ?類是對(duì)象的描述,類是對(duì)象的類型,類是對(duì)象的圖紙模板.

? ? ? ? ? ? ? ? ? ? ?對(duì)象是類,具體的一個(gè)個(gè)體.是根據(jù)類創(chuàng)建出來(lái)的.

? ? ? ? ? ? 定義類的注意事項(xiàng):

? ? ? ? ? ? ? ? ? ? ? ? 1:類名使用名詞或者名詞短語(yǔ),使用駝峰表示法(后面的每個(gè)單詞首字母大寫).

? ? ? ? ? ? ? ? ? ? ? ? ? 比如:Employee,StudentInfo,

? ? ? ? ? ? ? ? ? ? ? ?2:類名首字母大寫,使用標(biāo)識(shí)符.

? ? ? ? ? ? ? ? ? ? ? ?3:如果類使用了public修飾,則當(dāng)前類所在的文件名稱也必須為該類名.

------------------------------------------------------------------------------------------------------------

? ? ? ? ? ?在面向?qū)ο蟮恼n程中:

? ? ? ? ? ? ? ? ? ? ? ? 描述對(duì)象的類,不需要定義main方法的.

? ? ? ? ? ? ? ? ? ? ? ?測(cè)試類才應(yīng)該具有主方法,測(cè)試類用于創(chuàng)建對(duì)象,操作對(duì)象.

? ? ? ? ? ? ? ? ? ? ? ? ?一般的,我們讓測(cè)試類名和文件名相同.



? ? ? ? ? ? ? ? 對(duì)象的基本操作:

? ? ? ? ? ? ? ? ? ? ? ? ? ? 1):如何根據(jù)一個(gè)類創(chuàng)建對(duì)象,此時(shí)得使用關(guān)鍵字new?.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?類名????變量=?new類名();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? new關(guān)鍵字:1):在堆內(nèi)存中開(kāi)辟一塊空間,2):創(chuàng)建了一個(gè)對(duì)象.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 每次使用new關(guān)鍵字,都表示在堆中新開(kāi)辟一塊內(nèi)存空間.

? ? ? ? ? ? ? ? ? ? ? ? 2):匿名對(duì)象,沒(méi)有名稱的一個(gè)對(duì)象,因?yàn)闆](méi)有名稱,匿名對(duì)象就只能使用一次:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?new類名();如,?new??Servant();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一般而言,我們不會(huì)使用匿名對(duì)象,我們會(huì)把創(chuàng)建的對(duì)象賦值給一個(gè)變量,此時(shí)該對(duì)象就不是匿名對(duì)象了,該變量名就好比是對(duì)象的名稱.

? ? ? ? ? ? ? ? ? ? ? ? ? ?3):打印對(duì)象的時(shí)候,默認(rèn)打印出的是對(duì)象的hashCode值。

? ? ? ? ? ? ? ? ? ? ? ? ? ?4):使用對(duì)象調(diào)用對(duì)象的方法.

? ? ? ? ? ? ? ? ? ? ? ? ? ? 如果對(duì)象中的方法,沒(méi)有使用static修飾符,就只能使用當(dāng)前方法所在類的對(duì)象來(lái)調(diào)用,不能直接使用類名調(diào)用.例如:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Servant?s1?=?new??Servant();

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? s1.cooking();

? ? ? ? ? ? ? ? ? 6):使用對(duì)象來(lái)操作成員變量.

? ? ? ? ? ? ? ? ? ? ? ? ? 給對(duì)象的成員變量設(shè)置值:

? ? ? ? ? ? ? ? ? ? ? ? ?給菲傭s1設(shè)置一個(gè)名字?如:s1.name?=?"張三";

? ? ? ? ? ? ? ? ? ? ? ? ?獲取對(duì)象的成員變量的值:

? ? ? ? ? ? ? ? ? ? ? ? 獲取s1對(duì)象的姓名:String??n?=?s1.name;

? ? ? ? ? ? ? ? ? ? ? ?定義一個(gè)Cat類,包含了name和age狀態(tài),以及sleep,eat行為.

? ? ? ? ? ? ? ? ? ? ? 創(chuàng)建三個(gè)Cat對(duì)象:??c1,c2,c3

? ? ? ? ? ? ? ? ? ? ?分析內(nèi)存



二徒扶、構(gòu)造器

構(gòu)造器的作用:

? ? ? ? ? ? ? ?構(gòu)造器最重要的功能就是創(chuàng)建對(duì)象,分配內(nèi)存空間,并完成對(duì)象的初始化操作粮彤。

? ? ? ? ? ? ? ? 一旦創(chuàng)建對(duì)象就會(huì)調(diào)用與之對(duì)應(yīng)的構(gòu)造器,構(gòu)造器的作用:可用于創(chuàng)建實(shí)例象和完成實(shí)例初始化時(shí)內(nèi)存分配姜骡。


? ? ? ? ? ? ? ?構(gòu)造器的特點(diǎn):

? ? ? ? ? ? ? 1.構(gòu)造方法名稱與類名相同:

? ? ? ? ? ? ?2.不用定義返回值類型:

? ? ? ? ? ? ? ? ? ? ? ? ?因?yàn)榉祷刂档念愋涂隙ň褪沁@個(gè)類型本身,也不能使用void.导坟。

? ? ? ? ? ? ? 3.不需要寫return語(yǔ)句:

? ? ? ? ? ? ? ? ? ? ?但實(shí)際效果是調(diào)用后把創(chuàng)建好的對(duì)象返回。

? ? ? ? ? ? ? ? 即使我們沒(méi)有手動(dòng)提供構(gòu)造器,編譯器也會(huì)提供默認(rèn)構(gòu)造器,每一個(gè)類,至少有一個(gè)構(gòu)造器.

? ? ? ? ? ? ? ? ? ?如果我們手動(dòng)提供了構(gòu)造器,則編譯器不載提供默認(rèn)構(gòu)造器.

三溶浴、static關(guān)鍵字修飾.

static修飾成員變量:該變量屬于整個(gè)類,不屬于某一個(gè)具體對(duì)象.

static修飾的方法:該方法屬于整個(gè)類,不屬于某一個(gè)具體的對(duì)象.

沒(méi)有使用static修飾的成員變量/方法,就屬于某一個(gè)對(duì)象.

使用static修飾的成員(變量,方法,內(nèi)部類),稱之為類的成員.

特點(diǎn):

1):隨著JVM的加載而加載.

當(dāng)JVM把static成員所在的字節(jié)碼加載進(jìn)JVM的時(shí)候,static就已經(jīng)存在于JVM中(方法區(qū)).

2):優(yōu)先于對(duì)象存在.

對(duì)象是我們通過(guò)new關(guān)鍵字創(chuàng)建出來(lái)的,而靜態(tài)成員,在加載進(jìn)JVM就已經(jīng)存在了.

3):被所有當(dāng)前這個(gè)類的對(duì)象所共享.

4):調(diào)用靜態(tài)成員,直接使用類名調(diào)用即可.

靜態(tài)成員屬于類型,而不屬于某一個(gè)具體的對(duì)象.

即使我們使用對(duì)象.靜態(tài)成員,其底層依然是類名.靜態(tài)成員.

使用static修飾的字段不是存儲(chǔ)在堆內(nèi)存的乍迄,而是存儲(chǔ)在獨(dú)立于堆內(nèi)存和棧內(nèi)存的方法區(qū)內(nèi)存中,可以被該類所有的對(duì)象所共享士败。

類成員:使用static修飾的成員變量,方法,內(nèi)部類.

實(shí)例成員:沒(méi)有使用static修飾的成員變量,方法,內(nèi)部類.

在實(shí)際開(kāi)發(fā)中,我們往往不會(huì)使用static去修飾成員變量和方法,使用static的幾個(gè)地方:

1:靜態(tài)代碼塊:

static{

初始化數(shù)據(jù)

}

2:定義全局的公共常量的時(shí)候使用.

public??static?final??int??MAX_VALUE?=?127;//表示一個(gè)常量值,不能改變,大家可以共用.

3:工具類中的方法,使用static修飾,目的:方便調(diào)用(使用最多的情況).

四、equals與==

equals:一般用在比較當(dāng)前對(duì)象和指定對(duì)象比較褥伴,表示邏輯相等(比較值)谅将。

==:一般是用來(lái)判斷兩個(gè)對(duì)象的引用內(nèi)存地址是否相同(比較地址)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者

  • 序言:七十年代末重慢,一起剝皮案震驚了整個(gè)濱河市饥臂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌似踱,老刑警劉巖隅熙,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稽煤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡囚戚,警方通過(guò)查閱死者的電腦和手機(jī)酵熙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)驰坊,“玉大人匾二,你說(shuō)我怎么就攤上這事∪剑” “怎么了察藐?”我有些...
    開(kāi)封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)舟扎。 經(jīng)常有香客問(wèn)我分飞,道長(zhǎng),這世上最難降的妖魔是什么睹限? 我笑而不...
    開(kāi)封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任譬猫,我火速辦了婚禮,結(jié)果婚禮上邦泄,老公的妹妹穿的比我還像新娘删窒。我一直安慰自己,他們只是感情好顺囊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布肌索。 她就那樣靜靜地躺著,像睡著了一般特碳。 火紅的嫁衣襯著肌膚如雪诚亚。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天午乓,我揣著相機(jī)與錄音站宗,去河邊找鬼。 笑死益愈,一個(gè)胖子當(dāng)著我的面吹牛梢灭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蒸其,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼敏释,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了摸袁?” 一聲冷哼從身側(cè)響起钥顽,我...
    開(kāi)封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎靠汁,沒(méi)想到半個(gè)月后蜂大,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體闽铐,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年奶浦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了兄墅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡财喳,死狀恐怖察迟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情耳高,我是刑警寧澤扎瓶,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站泌枪,受9級(jí)特大地震影響概荷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碌燕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一误证、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧修壕,春花似錦愈捅、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至青团,卻和暖如春譬巫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背督笆。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工芦昔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人娃肿。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓咕缎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親料扰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子锨阿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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