大战熟女丰满人妻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热久久精里都是精品66 | 亚洲五月花 | 在线播放精品一区二区啪视频 | 亚洲香蕉久久一区二区三区四区 | 青青热久久久久综合精品 | 午夜视频福利在线观看 | 成人午夜精品网站在线观看 | 伊人五月天婷婷琪琪综合 | 国产成人mv在线观看入口视频 | 欧美精品久久 | 成人欧美视频在线观看播放 | 乱子伦xxx欧美| 精品69久久久久久99 | 亚洲国产成+人+综合 | 精品欧美一区手机在线观看 | 在线观看偷拍视频一区 | 亚洲综合精品成人啪啪 | 国产成人免费a在线视频色戒 | 久热这里| 国产福利午夜自产拍视频在线 | 日韩欧美亚洲综合久久影院d3 | 欧美性网| 精品久久一区二区三区 | 夜间福利在线观看 | 欧美成人极品怡红院tv | 操片免费看 | 国产精品永久免费自在线观看 | 青青青青青国产费线在线观看 | 亚洲免费小视频 | 98色花堂国产精品首页 | 久久精品国产99久久99久久久 | 亚洲tv精品一区二区三区 | 亚洲国产精品久久久久网站 | 国产女人视频 | 九九热这里 | 老司机午夜精品视频播放 | 亚洲精品14p | 97影院午夜在线观看琪琪 | 天天操狠狠 | 国产午夜免费 |