![JAVA尚學(xué)堂300集第一季筆記_第1頁(yè)](http://file4.renrendoc.com/view/e01136a5a9b89a0931032cc70ee26d68/e01136a5a9b89a0931032cc70ee26d681.gif)
![JAVA尚學(xué)堂300集第一季筆記_第2頁(yè)](http://file4.renrendoc.com/view/e01136a5a9b89a0931032cc70ee26d68/e01136a5a9b89a0931032cc70ee26d682.gif)
![JAVA尚學(xué)堂300集第一季筆記_第3頁(yè)](http://file4.renrendoc.com/view/e01136a5a9b89a0931032cc70ee26d68/e01136a5a9b89a0931032cc70ee26d683.gif)
![JAVA尚學(xué)堂300集第一季筆記_第4頁(yè)](http://file4.renrendoc.com/view/e01136a5a9b89a0931032cc70ee26d68/e01136a5a9b89a0931032cc70ee26d684.gif)
![JAVA尚學(xué)堂300集第一季筆記_第5頁(yè)](http://file4.renrendoc.com/view/e01136a5a9b89a0931032cc70ee26d68/e01136a5a9b89a0931032cc70ee26d685.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一季1、總共大約30小時(shí)。2、連載官網(wǎng)3、JDK(java開發(fā)工具包)(JRE(java運(yùn)行時(shí)環(huán)境)(JVM(JAVA虛擬機(jī))))—包含關(guān)系4、java開發(fā)環(huán)境配置(1)下載JDK()步驟:oracle官網(wǎng)—Downloads—Java—JavaSE—JavaPlatform(DOWNLOAD)—AcceptLicenseAgreement—計(jì)算機(jī)(屬性64位)—下載Windowsx64,(x86是32位)(2)安裝JDK:選擇默認(rèn)路徑即可,點(diǎn)擊下一步。bin二進(jìn)制縮寫(3)環(huán)境變量設(shè)置:1)JAVA_HOME:C:\ProgramFiles\Java\jdk1.7.0_21步驟:點(diǎn)擊計(jì)算機(jī)—屬性—高級(jí)系統(tǒng)設(shè)置—高級(jí)—環(huán)境變量—找到JDK安裝的默認(rèn)路徑復(fù)制C:\ProgramFiles\Java\jdk1.7.0_21—新建系統(tǒng)變量JAVA_HOME,變量值粘貼復(fù)制的默認(rèn)路徑2)path(執(zhí)行dos命令,系統(tǒng)會(huì)在path指定的路徑中尋找該命令對(duì)應(yīng)的可執(zhí)行文件)步驟:找到bin文件的默認(rèn)路徑C:\ProgramFiles\Java\jdk1.7.0_21\bin將默認(rèn)路徑或“%JAVA_HOME%\bin”增加到path變量值最前面,用分號(hào);將多個(gè)目錄用隔開classpath——JDK5.0以上版本,可以不對(duì)其進(jìn)行配置!3)測(cè)試是否安裝成功:運(yùn)行—cmd—輸入java–version配置完java環(huán)境變量后,最好重啟運(yùn)行窗口。重啟后新配置的環(huán)境變量才能生效。5、在E盤新建文件mycode(用于存放源代碼文件),文件名為拼音或英文,如mycode,在mycode文件中新建文本文檔Welcome,擴(kuò)展名改為.java,類的首字母大寫,類名與文件名一樣,右鍵用記事本打開Welcome,編輯并保存。查看Welcome輸出:運(yùn)行—cmd—輸入e:(進(jìn)入E盤)—cdmycode(cd—changedirectory改變目錄)—dir(查看mycode文件下所有文件和子文件)—javacWelcome.java(編譯,編譯器創(chuàng)建class字節(jié)碼文件)—javaWelcome(執(zhí)行)顯示擴(kuò)展名方法:在mycode文件夾中,組織—文件夾和搜索選項(xiàng)—查看—隱藏已知文件類型的擴(kuò)展名,不打?qū)︺^文本編輯器:notepad++,UltraEdit,EditPlus集成開發(fā)環(huán)境:Eclipse()在記事本中首字母縮進(jìn)按Tab鍵。6、JAVA注釋//單行注釋;/*…….*/多行注釋;浮點(diǎn)數(shù)存在舍入誤差,很多數(shù)字不能精確表示。如果需要進(jìn)行不產(chǎn)生舍入誤差的精確數(shù)字計(jì)算,需要使用BigDecimal類——表示大小數(shù);BigInteger類——表示大整數(shù);7、eclipse下載:8、包package: 為了解決類之間的重名問(wèn)題 為了便于管理類:合適的類位于合適的包。 package通常是類的第一句非注釋性語(yǔ)句。 寫項(xiàng)目時(shí)都要加包,不要使用默認(rèn)包。9、API文檔用來(lái)查看所有的package以及class的用法。10、生成自己項(xiàng)目的API文檔 文檔注釋:/**,在所要注釋的類前注釋說(shuō)明 常用的java注釋標(biāo)簽:@Author作者;@version版本;@param參數(shù);@return返回值的含義;@throws拋出異常描述;@deprecated廢棄。建議用戶不在使用該方法。 步驟:點(diǎn)擊PackageExplorer里的項(xiàng)目名(如mypro)—右鍵Export—Java—Javadoc—下一步選中要生成API文檔的項(xiàng)目名—改變Destination路徑—finish—11、測(cè)試Scanner類的使用,如何接受鍵盤的輸入:導(dǎo)入util包下的Scanner類//其他包的類如果要用,必須先導(dǎo)入Scanners=newScanner(System.in);Stringstr=s.next();//程序運(yùn)行到next會(huì)阻塞,等待鍵盤的輸入!—輸入字符串inta=s.nextInt();//輸入數(shù)字12、面向?qū)ο缶幊痰谋举|(zhì):以類的方式組織代碼,以對(duì)象的方式組織(封裝)數(shù)據(jù)。13、構(gòu)造器用于構(gòu)造該類的實(shí)例;通過(guò)new關(guān)鍵字調(diào)用;構(gòu)造器雖然有返回值,但是不能定義返回類型(返回值的類型肯定是本類),不能在構(gòu)造器里調(diào)用return;如果我們沒(méi)有定義構(gòu)造器,則系統(tǒng)會(huì)自動(dòng)定義一個(gè)無(wú)參的構(gòu)造函數(shù)。如果已定義則編輯器不會(huì)添加;構(gòu)造器的方法名必須與類名一致;作用:構(gòu)造該類的對(duì)象,經(jīng)常也用來(lái)初始化對(duì)象的屬性。14、方法的重載是指一個(gè)類中可以定義相同的名字,但參數(shù)不同的多個(gè)方法,調(diào)用時(shí),會(huì)根據(jù)不同的參數(shù)表選擇對(duì)應(yīng)的方法。兩同三不同:同一個(gè)類,同一個(gè)方法名;參數(shù)列表不同(類型、個(gè)數(shù)、順序不同)15、static從屬于類的只能使用類的方法,從屬于對(duì)象的既可以使用類的方法也可以使用對(duì)象的方法。static只能調(diào)用static方法;非static既能調(diào)用static方法,也能調(diào)用非static方法。調(diào)用:類名.方法名;類名.類屬性;16、this關(guān)鍵字:普通方法中,this總是指向調(diào)用該方法的對(duì)象;構(gòu)造方法中,this總是指向正要初始化的對(duì)象;this不能用于static方法。this();——通過(guò)this調(diào)用其他無(wú)參的構(gòu)造方法,必須位于第一句。17、面向?qū)ο蟮娜筇卣鳎豪^承,封裝/隱藏,多態(tài)(為了適應(yīng)需求的多種變化,使代碼變得更加通用)Java中只有單繼承(一個(gè)類只能有一個(gè)直接父類);java中的多繼承,可以通過(guò)接口來(lái)實(shí)現(xiàn)。方法的重寫:重寫方法必須和被重寫方法具有相同方法名稱、參數(shù)列表和返回類型,但是實(shí)現(xiàn)內(nèi)容不一樣。重寫方法不能使用比被重寫方法更嚴(yán)格的訪問(wèn)權(quán)限(由于多態(tài))。重寫與重載沒(méi)關(guān)系18、Object類是所有Java類的根基類。如果在累的聲明中未使用extends關(guān)鍵字指明其基類,則默認(rèn)基類為Object類。Ctrl+t或F4查看某個(gè)類的層次結(jié)構(gòu),ctrl查看某個(gè)類的API文檔19、super類是直接父類對(duì)象的引用;“is–a”關(guān)系實(shí)驗(yàn)繼承;”has-a”關(guān)系使用組合。20、final關(guān)鍵字:修飾變量——(變?yōu)椋┏A?;該方法不可被子類重寫,但是可以被重載;修飾的類不能有子類,不能被繼承。比如:Math、String21、封裝:可見性—private—同一個(gè)類;default—同一個(gè)包中,同一個(gè)類;protected—子類,同一個(gè)包中,同一個(gè)類;public—所有類,子類,同一個(gè)包中,同一個(gè)類封裝要點(diǎn):類的屬性的處理:一般使用private(除非本屬性確定會(huì)讓子類繼承)提供相應(yīng)的get/set方法來(lái)訪問(wèn)相關(guān)屬性。這些方法通常是public,從而提供對(duì)屬性的讀取操作。(注意:boolean變量的get方法是用:is開頭?。┮恍┲挥糜诒绢惖妮o助性方法可以用private,希望其他類調(diào)用的方法用public22、多態(tài)性:就是程序的最終狀態(tài)只有在執(zhí)行過(guò)程中才被決定而非在編譯期間就決定了。java中實(shí)現(xiàn)多態(tài):引用變量的兩種類型——編譯時(shí)類型(模糊一點(diǎn),一般是一個(gè)父類)由聲明時(shí)的類型決定;運(yùn)行時(shí)類型(運(yùn)行時(shí),具體是哪個(gè)子類就是哪個(gè)子類)由實(shí)際對(duì)應(yīng)的對(duì)象類型決定。多態(tài)的存在要有3個(gè)必要條件:要有繼承,要有方法重寫,父類引用指向子類對(duì)象(如Animala=newCat();Animalb=newDog();Animalc=newPig();)。23、抽象類:是一種模版模式。抽象類為所有子類提供了一個(gè)通用模板,子類可以在這個(gè)模板基礎(chǔ)上進(jìn)行擴(kuò)展。通過(guò)抽象類,可以避免子類設(shè)計(jì)的隨意性。通過(guò)抽象類。我們就可以做到嚴(yán)格限制子類的設(shè)計(jì),使子類之間更加通用。要點(diǎn):有抽象方法的類只能定義成抽象類;抽象類不能實(shí)例化,即不能用new來(lái)實(shí)例化抽象類;抽象類可以包含屬性、方法、構(gòu)造方法。但是構(gòu)造方法不能用來(lái)new實(shí)例,只能用來(lái)被子類調(diào)用;抽象類只能用來(lái)繼承;抽象方法必須被子類實(shí)現(xiàn)。抽象方法的意義在于:將方法的設(shè)計(jì)和方法的實(shí)現(xiàn)分離了。24、接口interface:接口中只有——常量、抽象方法。接口實(shí)現(xiàn)——implements。接口是最抽象的。接口中常量定義時(shí),寫或不寫前綴都是默認(rèn)有——publicstaticfinal接口中方法定義時(shí),寫或不寫前綴都是默認(rèn)有——publicabstract注意:接口就是比抽象類還抽象的抽象類,可以更加規(guī)范的對(duì)子類進(jìn)行約束。全面地專業(yè)地實(shí)現(xiàn)了:規(guī)范和具體實(shí)現(xiàn)的分離。接口就是規(guī)范,定義的是一組規(guī)則,體現(xiàn)了現(xiàn)實(shí)世界中“如果你是…則必須能…”的思想(如:如果你是天使,則必須飛)。接口的本質(zhì)是契約,就像我們?nèi)碎g的法律一樣。制定好后大家都遵守。項(xiàng)目的具體需求是多變的,我們必須以不變應(yīng)萬(wàn)變才能從容開發(fā),此處的“不變”就是“規(guī)范”,因此,我們開發(fā)項(xiàng)目往往都是面向接口編程。某個(gè)接口可以支持繼承多個(gè)接口。(interfaceAextendsInterfaceA,InterfaceB)25、CallBack回調(diào)、Hook勾子函數(shù)26、內(nèi)部類(innerclasses)一般情況下,我們把類定義成獨(dú)立的單元。有些情況下,我們把一個(gè)類放在另一個(gè)類的內(nèi)部定義,稱為內(nèi)部類。內(nèi)部類的作用:內(nèi)部類提供了更好的封裝。只能讓外部類直接訪問(wèn),不允許同一個(gè)包中的其他類直接訪問(wèn)。內(nèi)部類可以直接訪問(wèn)外部類的私有屬性,內(nèi)部類被當(dāng)成其外部類的成員。但外部類不能訪問(wèn)內(nèi)部類的內(nèi)部屬性。內(nèi)部類的使用場(chǎng)合:由于內(nèi)部類提供了更好的封裝特性,并且可以很方便的訪問(wèn)外部類的屬性。所以,通常內(nèi)部類在只為所在外部類提供服務(wù)的情況下優(yōu)先使用。注意:普通的成員內(nèi)部類可以訪問(wèn)外部類的普通的屬性和方法。普通的成員內(nèi)部類可以看作外部類的一個(gè)普通的屬性。普通內(nèi)部類對(duì)象必須寄宿在外部類對(duì)象里面。必須先有外部類對(duì)象,才能有內(nèi)部類對(duì)象。靜態(tài)內(nèi)部類加了static修飾以后,靜態(tài)內(nèi)部類對(duì)象存在,它的外部類對(duì)象不一定存在,靜態(tài)內(nèi)部類不能訪問(wèn)外部類的普通的屬性和方法,但是靜態(tài)內(nèi)部類可以直接訪問(wèn)外部類的靜態(tài)的屬性和方法。27、Array數(shù)組:創(chuàng)建數(shù)組對(duì)象——a=newint[4];初始化(對(duì)數(shù)組元素的初始化)默認(rèn)初始化:數(shù)組元素相當(dāng)于對(duì)象的成員變量,默認(rèn)值跟成員變量的規(guī)則一樣(如數(shù)字0,布爾false)。28、String:不可變字符序列!可變字符序列:StringBuilder(線程不安全,效率高,用的較多),StringBuffer(線程安全,效率低);兩個(gè)用法一樣。29、File類:Filef5=newFile("e:/mycode/aa/bb/cc/ddd"); f5.mkdirs();//不管前面的父目錄是否存在,都創(chuàng)建 //f5.mkdir();如果前面的父目錄存在,就創(chuàng)建,不存在就創(chuàng)建失敗30、異常:Computerc=null;c.start();——出現(xiàn)NullPointerException//對(duì)象是null,調(diào)用了對(duì)象方法或?qū)傩圆灰趂inally中使用return執(zhí)行順序:執(zhí)行try,catch,給返回值賦值——執(zhí)行finally——returnCtrl+t選中查看層次結(jié)構(gòu)第二季32、泛型類:聲明時(shí)使用泛型概念:泛型就是參數(shù)化類型,使用廣泛的類型起因:數(shù)據(jù)類型不明確: 裝入數(shù)據(jù)的類型都被當(dāng)作Object對(duì)待,從而“丟失”自己的實(shí)際類型。 獲取數(shù)據(jù)時(shí)往往需要轉(zhuǎn)型,效率低,容易產(chǎn)生錯(cuò)誤Object可以接受任意類型,因?yàn)榘l(fā)生多態(tài)獲取值:強(qiáng)制類型轉(zhuǎn)換手動(dòng)類型檢查:避免轉(zhuǎn)換錯(cuò)誤java.lang.ClassCastException:使用時(shí)確定類型(引用類型):安全:在編譯的時(shí)候檢查類型安全省心:所有的強(qiáng)制類型轉(zhuǎn)換都是自動(dòng)和隱式的,提高代碼的重用率泛型類:定義類時(shí)使用泛型格式:<>class類名<字母列表>{修飾符字母屬性;修飾符構(gòu)造器(字母){}修飾符返回類型方法(字母){}}字母:TType表示類型KV分別代表鍵值中的keyValueE代表Element?表示不確定的類型2)使用:指定具體類型1、編譯時(shí)會(huì)進(jìn)行類型檢查2、獲取數(shù)據(jù)時(shí)不需要強(qiáng)制類型轉(zhuǎn)換注意:1、泛型只能使用引用類型,不能基本類型2、泛型聲明時(shí)字母不能使用靜態(tài)屬性、靜態(tài)方法上泛型接口:定義接口時(shí)使用泛型格式:<>Interface接口名<字母列表>{修飾符返回類型方法(字母);}因?yàn)椴荒苁褂迷陟o態(tài)屬性上,更不能用在全局常量上接口中,泛型字母只能使用在方法中,不能使用在全局常量中泛型方法:定義使用:<字母>修飾符<字母>返回類型方法名(字母){}要定義泛型方法,只需將于泛型參數(shù)列表置返回值前。泛型方法<>返回類型前面只能訪問(wèn)對(duì)象的信息,不能修改信息注意:泛型還可以定義在方法中,是否擁有泛型方法,與其所在的類是否泛型沒(méi)有關(guān)系。33、Hashtable與HashMap的區(qū)別//””空表示類的相對(duì)路徑bin文件34、同步控制與只讀控制:35、Collection擴(kuò)展之guava36、快捷鍵空構(gòu)造器快捷鍵:alt+/有參構(gòu)造器快捷鍵:alt+shift+soget與set方法快捷鍵:alt+shift+srtab回車shift+tab回車查看方法快捷鍵:Ctrl+O導(dǎo)入包c(diǎn)trl+shift+o37、Collection擴(kuò)展之commons38、容器的總結(jié)39、IO原理與概念40、IO字節(jié)流41、IO字符流42、IO處理流43、IO其他流44、IO總結(jié)三、重點(diǎn)45、多線程概念:創(chuàng)建:狀態(tài):同步:生產(chǎn)者消費(fèi)者模式:任務(wù)調(diào)度:總結(jié):同步:是多線程對(duì)同一份資源共同訪問(wèn),造成資源的不安全性,為了保證這個(gè)資源的準(zhǔn)確和安全,我們需要加入同步。(面
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單親低保申請(qǐng)書范文
- 提高圖像處理速度的具體辦法
- 2024-2025學(xué)年廣東省廣州市高三(上)調(diào)研地理試卷(12月份)
- 維保合同范本(2篇)
- 給公司員工做飯的勞務(wù)費(fèi)合同(2篇)
- 一建《建設(shè)工程項(xiàng)目管理》試題庫(kù)資料練習(xí)含【答案】卷24
- 外研版高中英語(yǔ)選擇性必修第四冊(cè)UNIT3 Period6課件
- Module 3 Unit 5 Let me show you our new school綜合練習(xí) 教科版(含答案)
- 2025年凍熟淡水蝦項(xiàng)目可行性研究報(bào)告
- 2025年中國(guó)企業(yè)孵化器行業(yè)市場(chǎng)深度分析及投資戰(zhàn)略研究報(bào)告
- 石膏固定骨牽引的護(hù)理
- 2024年中國(guó)陶茶具市場(chǎng)調(diào)查研究報(bào)告
- 中華人民共和國(guó)職業(yè)分類大典是(專業(yè)職業(yè)分類明細(xì))
- DB43-T 2142-2021學(xué)校食堂建設(shè)與食品安全管理規(guī)范
- Module8Myfuturelife教學(xué)設(shè)計(jì)-2023-2024學(xué)年英語(yǔ)外研版九年級(jí)下冊(cè)
- 橋梁頂升移位改造技術(shù)規(guī)范
- 浙江省杭州市2022-2023學(xué)年五年級(jí)下學(xué)期數(shù)學(xué)期末試卷(含答案)
- 介紹人提成方案
- 天津在津居住情況承諾書
- PHOTOSHOP教案 學(xué)習(xí)資料
- 初中數(shù)學(xué)教學(xué)“教-學(xué)-評(píng)”一體化研究
評(píng)論
0/150
提交評(píng)論