大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 動(dòng)力節(jié)點(diǎn)java全套視頻面向?qū)ο笕筇卣?/span>

動(dòng)力節(jié)點(diǎn)java全套視頻面向?qū)ο笕筇卣?/h1>

更新時(shí)間:2020-03-19 10:07:10 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2212次


  1.繼承


  1.1繼承帶來的問題


  子類可以通過繼承獲取到父類中非私有化方法,但是父類的方法,不一定滿足子類的情況。


  這里不可能通過重新定義類似的方法名,完成子類特定的符合要求的方法。


  1.2方法的重寫


  解決的問題就是在開發(fā)中,父類的方法不適用于子類情況,子類可以重寫父類的方法,完成自定義的方法使用


  重寫之后,在沒有增加新的方法名的情況下,重寫方法體內(nèi)容,讓方法滿足子類,降低了開發(fā)壓力,提高了效率。


  @Override


  嚴(yán)格格式檢查


  要求重寫方法的和父類中的方法,聲明完成一致,返回值類型,方法名和形式參數(shù)列表


  1.3重寫和繼承帶來的問題


  子類繼承父類可以直接使用父類的方法,但是在這種情況下我們可以發(fā)現(xiàn)父類的方法是一定不能在子類中使用的,但是又沒有一個(gè)強(qiáng)制要求。


  需求:


  強(qiáng)制要求子類重寫父類的方法,從語法角度約束


  1.4abstract關(guān)鍵字


  abstract修飾的方法


  要求子類強(qiáng)制重寫!!!


  讓Eclipse幫著我們寫代碼


  第一個(gè)錯(cuò)誤:


  Abstractmethodsdonotspecifyabody


  abstract修飾的方法是沒有方法體


  快速修復(fù)提示:


  Removemethodbody


  刪除方法體


  第二個(gè)錯(cuò)誤:


  TheabstractmethodQintypeLOLHerocanonlybedefinedbyanabstractclass


  在LOLHero中使用abstract修飾的方法Q,只能定義在abstract修飾的類內(nèi)快速修復(fù)提示:


  MakeType'LOLHero'abstract


  第三個(gè)錯(cuò)誤:


  ThetypeYasuomustimplementtheinheritedabstractmethodLOLHero.Q()


  子類亞索類必須實(shí)現(xiàn)繼承而來的abstract方法LOLHero.Q()快速修復(fù)提示:


  Addunimplementedmethods


  添加沒有實(shí)現(xiàn)的父類中abstract方法


  abstract使用總結(jié):


  1.abstract修飾的方法沒有方法體


  2.abstract修飾的方法必須定義在abstract修飾的類內(nèi)或者interface接口內(nèi)


  3.一個(gè)普通類【非abstract】修飾的類,繼承了一個(gè)abstract類,那么必須實(shí)現(xiàn)在abstract類內(nèi)的所有abstract,強(qiáng)制要求


  4.如果一個(gè)abstractA類繼承另一個(gè)abstractB類,A類可以選擇實(shí)現(xiàn)B類中abstract方法。


  5.abstract修飾的類內(nèi)允許普通方法


  6.abstract修飾的類不能創(chuàng)建自己的類對(duì)象!!!


  【原因】


  abstract修飾的類內(nèi)有可能存在abstract修飾的方法,而abstract修飾的方


  法是么有方法體的,如果說創(chuàng)建了abstract修飾類對(duì)應(yīng)的對(duì)象,不能執(zhí)行沒


  有方法體的abstract方法


  7.一個(gè)類內(nèi)沒有abstract修飾的方法,那么這個(gè)類定義成abstract類有意義嗎?


  沒有必要的!!!無意義的!!!


  2.final關(guān)鍵字


  最后的,最終的


  final修飾的成員變量


  final修飾的成員變量定義時(shí)必須初始化,并且賦值之后無法修改,一般用于類內(nèi)帶有名字的常量使用


  final修飾的成員方法


  final修飾的成員變量不能被子類重寫,為最終方法,可以用于一些安全性方法的定義


  final修飾的局部變量


  final修飾的局部變量一旦被賦值,不能修改!


  final修飾的類


  final修飾的類沒有子類,不能被繼承。


  abstract修飾的類不能被final修飾。


  3.static關(guān)鍵字【重點(diǎn)】


  3.1static修飾成員變量


  3.1.1static修飾成員變量的需求


  3.1.2生活中的例子進(jìn)一步理解


  共享自行車


  1.是存在于公共區(qū)域的


  2.每一個(gè)人都可以使用


  3.來到北京之前,北京已經(jīng)有共享單車,你離開北京之后,共享單車依然存在。


  4.如果共享單車損壞了。所有需要使用的人都會(huì)受到影響。


  總結(jié):


  1.公共區(qū)域存放


  2.共享性使用


  3.和對(duì)象無關(guān)


  4.一處修改,處處受到影響。


  3.1.3靜態(tài)成員變量使用注意事項(xiàng)


  1.靜態(tài)成員變量是使用static修飾的成員變量,定義在內(nèi)存的【數(shù)據(jù)區(qū)】


  2.靜態(tài)成員變量不推薦使用類對(duì)象調(diào)用,會(huì)提示警告


  ThestaticfieldSingleDog.infoshouldbeaccessedinastaticway


  使用static修飾的SingleDog類內(nèi)的info成員變量,應(yīng)該通過靜態(tài)方式訪問


  3.靜態(tài)成員變量使用類名調(diào)用是沒有任何的問題。【墻裂推薦方式】


  4.在代碼中沒有創(chuàng)建對(duì)象時(shí),可以通過類名直接使用靜態(tài)成員變量,和【對(duì)象無關(guān)】


  5.代碼中對(duì)象已經(jīng)被JVM的GC銷毀時(shí),依然可以通過類名調(diào)用靜態(tài)成員變量,和【對(duì)象無關(guān)】


  6.不管通過哪一種方式調(diào)用靜態(tài)成員變量,修改對(duì)應(yīng)的靜態(tài)成員變量數(shù)據(jù),所有使用到當(dāng)前靜態(tài)成員變量的位置,都會(huì)受到影響。


  3.1.4為什么靜態(tài)成員變量和對(duì)象無關(guān)


  1.從內(nèi)存角度出發(fā)分析


  靜態(tài)成員變量是保存在內(nèi)存的數(shù)據(jù)區(qū)


  類對(duì)象占用的實(shí)際內(nèi)存空間是在內(nèi)存的堆區(qū)


  這兩個(gè)區(qū)域是完全不同的,所有可以說靜態(tài)成員變量和對(duì)象沒有關(guān)系【沒有對(duì)象】


  2.從靜態(tài)成員變量以及類對(duì)象生命周期來分析


  靜態(tài)成員變量是隨著類文件(.class)字節(jié)碼文件的加載過程中,直接定義在內(nèi)存的數(shù)據(jù)區(qū)。靜態(tài)成員變量從程序運(yùn)行開始就已經(jīng)存在。


  類對(duì)象是在代碼的運(yùn)行過程中,有可能被創(chuàng)建的。程序的運(yùn)行過中,有可能會(huì)被JVM的CG垃圾回收機(jī)制銷毀,程序在退出之前一定會(huì)銷毀掉當(dāng)前Java程序使用到的所有內(nèi)存。


  靜態(tài)成員變量在程序退出之后,才會(huì)銷毀


  靜態(tài)成員變量的生命周期是從程序開始,到程序結(jié)束


  類對(duì)象只是從創(chuàng)建開始,而且隨時(shí)有可能被JVM的GC銷毀


  生命周期不在同一個(gè)時(shí)間線上,所以靜態(tài)成員變量和類對(duì)象無關(guān),【沒有對(duì)象】


  3.2static修飾成員方法


  3.2.1靜態(tài)成員方法的格式


  異常熟悉的格式


  publicstatic返回值類型方法名(形式參數(shù)列表){


  }


  3.2.2靜態(tài)成員方法注意事項(xiàng)


  1.靜態(tài)成員方法推薦使用靜態(tài)方式調(diào)用,通過類名調(diào)用【墻裂推薦的】


  不推薦使用類對(duì)象調(diào)用,因?yàn)椤緵]有對(duì)象】


  2.靜態(tài)成員方法中不能使用非靜態(tài)成員==>(非靜態(tài)成員方法和非靜態(tài)成員變量)


  因?yàn)椤緵]有對(duì)象】


  3.靜態(tài)成員方法中不能使用this關(guān)鍵字


  因?yàn)椤緵]有對(duì)象】


  4.靜態(tài)成員方法中可以使用類內(nèi)的其他靜態(tài)成員【難兄難弟】


  5.靜態(tài)成員方法中可以通過new構(gòu)造方法創(chuàng)建對(duì)象


  單身狗可以找對(duì)象


  不能挖墻腳但是能自己找


  3.2.3靜態(tài)成員方法特征解釋


  1.靜態(tài)成員方法加載時(shí)間問題


  靜態(tài)成員方法是隨著.class字節(jié)碼文件的加載而直接定義在內(nèi)存的【方法區(qū)】,而且此時(shí)的靜態(tài)成員方法已經(jīng)可以直接運(yùn)行。可以通過類名直接調(diào)用,而此時(shí)沒有對(duì)象存在。【沒有對(duì)象】


  2.為什么靜態(tài)成員方法不能使用非靜態(tài)成員


  非靜態(tài)成員變量和非靜態(tài)成員方法時(shí)需要類對(duì)象調(diào)用的,在靜態(tài)成員方法中,是可以通過類名直接執(zhí)行的,而此時(shí)是【沒有對(duì)象】的。


  3.為什么靜態(tài)成員方法不能使用this關(guān)鍵字


  this關(guān)鍵字表示的是調(diào)用當(dāng)前方法的類對(duì)象,但是靜態(tài)成員方法可以通過類名調(diào)用,this不能代表類名,同時(shí)也是【沒有對(duì)象】


  4.靜態(tài)成員方法可以使用其他靜態(tài)成員


  生命周期一致,調(diào)用方式一致


  3.3類變量和類方法


  類變量==>靜態(tài)成員變量


  類方法==>靜態(tài)成員方法


  類成員==>靜態(tài)成員變量和靜態(tài)成員方法


  面試題


  類方法中是否可以使用成員變量?


  類方法可以使用當(dāng)前類內(nèi)的靜態(tài)成員變量,但是不允許使用非靜態(tài)成員變量



    以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“動(dòng)力節(jié)點(diǎn)java全套視頻面向?qū)ο笕筇卣鳌钡膬?nèi)容,希望對(duì)大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 深夜福利网站在线观看 | 99在线精品视频 | 免费看欧美一级特黄a毛片 免费看欧美一级特黄α大片 | 国产精品久久精品牛牛影视 | 熊出没之重启未来免费观看 | 欧美色成人tv在线播放 | 69精品| 老王午夜69精品影院 | 香蕉国产一区二区 | 亚洲综合中文 | 二区国产 | 青草青青在线视频 | 亚洲精品一二三 | 精品国产一区二区三区成人 | 成人影视在线观看 | 国产a级一级久久毛片 | 久久久久毛片免费观看 | 久久精品日本免费线 | 成人欧美一区二区三区在线观看 | 在线视频免费观看a毛片 | 精品国产一区二区三区在线观看 | 337p日本大胆欧洲色噜噜高清 | 日本一级特黄a大片在线 | 久久久久久中文字幕 | 免费国产午夜高清在线视频 | 2022色婷婷综合久久久 | 天天干天天玩 | 久久免费毛片 | 久久天堂一区二区三区 | 久久99精品久久久66 | 中国大陆高清aⅴ毛片 | av天天看| 免费视频网站在线观看黄 | 另类综合图片 | 欧美综合网站 | 亚洲精品一区二区三区婷婷 | 成年人的毛片 | 日韩一区二区三 | 国产成人亚洲精品大帝 | 一级毛片特黄久久免费看 | 九月婷婷天天澡天天添天天爽 |