大战熟女丰满人妻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ù)文檔推薦 >>
主站蜘蛛池模板: 欧美日韩性大片 | 综合色综合 | 天天躁狠狠躁狠狠躁夜夜躁 | 一级免费看片 | 色综合天天综合网亚洲影院 | 97在线免费观看视频 | 一二三区免费视频 | 国产精品资源 | 欧美日韩中文字幕一区二区高清 | 今天的恋爱未删减在线观看 | 久久这里只有精品免费播放 | 第一福利在线观看 | 美女嗯啊 | 国产第一综合另类色区奇米 | 女人18毛片a级毛片免费视频 | 久久成人永久免费播放 | 免费欧美黄色网址 | 久久精品国产eeuss | 欧美狠狠干| 中文字幕日韩亚洲 | 成年超爽大片免费视频播放 | 亚洲黄色在线观看视频 | 亚洲一区在线视频 | 91高清免费国产自产拍2021 | 久久精品区 | 伊人久久网国产伊人 | 国产精品午夜激爽毛片 | 中文字幕亚洲精品日韩精品 | 成人午夜大片免费7777 | 成人欧美视频在线看免费 | 精品国产91乱码一区二区三区 | 自拍视频精品 | 伊人高清视频 | 久久婷婷激情综合中文字幕 | 漂亮女大学一级毛片 | 午夜免费一级片 | 色综合久久亚洲国产日韩 | 理论一级片 | 国产97在线观看 | 久青草视频在线观看 | 欧美成人免费xxx大片 |