java基礎(chǔ)第12天隨堂筆記_第1頁
java基礎(chǔ)第12天隨堂筆記_第2頁
java基礎(chǔ)第12天隨堂筆記_第3頁
java基礎(chǔ)第12天隨堂筆記_第4頁
java基礎(chǔ)第12天隨堂筆記_第5頁
免費預(yù)覽已結(jié)束,剩余25頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第 12 天包&String回顧:異常:異常的體系異常的分類:編譯時異常、運行時異常怎么去書寫自定義異常類:1, 書寫的類必須繼承java 提供的異常類2, 需要在自定義異常類中的構(gòu)造函數(shù)中書寫處理異常的功能異常的處理方案:1,: 自己不處理,交給別人人處理(最終還是需要一個捕獲來處理)2, 捕獲: 遇到異常,自己處理try、catch、finally第 12 天授課內(nèi)容1、Object 概述(必須掌握如何查閱 API)2、Object 類中常用方法的介紹(掌握兩個經(jīng)常需要重寫的方法)3、包的概念(了解)4、包和包之間的(掌握第二種方式)5、包和包之間的繼承&權(quán)限(掌握 java 中修飾符的權(quán)

2、限)6、eclipse 開發(fā)工具(會用就行,學(xué)習(xí)使用常用的快捷鍵)7、String 類介紹和特點(掌握 String 類的特性)8、String 類的方法介紹(掌握 String 類中常用的方法)1、 Object 概述在學(xué)習(xí)面象編程,遇到需求時,先去找有沒有解決問題的功能存在。這些解決問題的功能通常是封裝在類能類),使用這些功能類基本可以解決開發(fā)中大部分(例:文件、上傳)。問題:這些解決問題的功能類都在哪里?在 java 設(shè)計時,已經(jīng)提供了很多解決問題的封裝類。這些解決問題的封裝類,統(tǒng)稱為:API在開發(fā)中,只要去相應(yīng)的包(文件夾)中去找對應(yīng)的封裝類就可以解決問題想要使用java 提供的解決各

3、種問題的 API,就需要先學(xué)會如何查閱 API 文檔1.1查閱 API 文檔的技巧查閱 API 的兩種方式:1, 使用“索引”查找相應(yīng)的信息第二種:通常過定位包名稱,來查找相應(yīng)的信息(前提:需要知道要查找的信息屬于哪個包)補充:1.2如何查閱源代碼在開發(fā)中,除了查閱 API 以外,還經(jīng)常會查看 JDK 的源代碼,幫助解決開發(fā)中。在安裝 JDK 時,隨著 JDK 版本的安裝,在 JDK 安裝目錄也存在一個當(dāng)前版本的 JDK 源碼文件查看源代碼的步驟:(前提:需要知道要查找的功能類屬于哪個包)1, 新建一個文件夾,并把 src.zip 文件解壓到創(chuàng)建的文件夾中2, 找到要查閱源代碼的功能類或接口(

4、異常類、錯誤類)3, 使用記事本之類的工具,打開要查看的源代碼文件1.3Object 類通過 API 的查閱,可以得到:1, Object 是java 提供的功能類(API 中的類)和開發(fā)自己書寫的類的父類(鼻祖類)2, 因為所有的類都繼承了 Object 類,所以繼承了 Object 類的子類可以使用 Ojbect 類中的功能疑問:既然自己定義的類也要繼承 Object 類,那為什么在代碼中沒有顯式書寫繼承 Object? Object 類屬于java.lang 包下。而 java.lang 包會被JVM 在運行時自動加載,繼承了 Object的子類也不需要顯式書寫,JVM 會自動為書寫的類

5、添加繼承。2、Object 類中常用方法的介紹2.1equals()方法需求:判斷學(xué)生是否為同齡人使用以上方式可以解決問題。面象:遇到需求時,先去找有沒有存在已經(jīng)解決問題的功能(功能是封裝在類中)。有,就直接使用封裝了功能的功能類解決問題。以上需求中,是需要解決判斷是否為同齡人的功能。(其實就是一個判斷是否相等的功能)首先,去找java API 中是否有比較功能。問題:Student 類中不具備比較功能,但是,Student 類繼承了 Object 類,所以可以去 Object類中找是否存在解決問題的功能Object 類中的功能:使用 Object 類中的 eqauls 函數(shù)解決需求中:以上程

6、序運行結(jié)果不正確。分析:為什么使用 Object 類中的 equals 功能會存在結(jié)果不正確呢?查看 Object 類中的 equals 功能的源代碼運行結(jié)果:在 Object 類中的 equals 功能中使用”=”進行比較,而”=”兩邊使用的是對象存中的地址)。結(jié)論:Object 類中的 equals 方法中,比較的是堆中的地址是否相等(就是堆內(nèi)單單使用 Object 類中的 equals 功能,并不能直接解決在開發(fā)中的做法是:重寫 Object 類中的equals 函數(shù)需求中。遇到這種情況,2.2toString()方法需求:輸出 Student 類的具體信息以上程序的運行結(jié)果,不符合需求

7、。要求是想要輸出學(xué)生類中的具體信息問題:為什么輸出 stu 時,顯示的結(jié)果:Student7ea06d25?為什么輸出的是一個查閱 System.out.prln()的源代碼地址?通過查閱源代碼,發(fā)現(xiàn):在執(zhí)行 prln(Object)時,自動調(diào)用了 toString()方法toString 函數(shù)屬于 Object 類中的。在 Student 類中可以重寫toString 方法,讓程序輸出學(xué)生類的具體信息小結(jié):在開發(fā)中,如果子類繼承父類時,父類中已經(jīng)存在了解決問題的功能,但是父類中的功能并不能滿足子類的需求,這時,子類就需要重寫父類中的方法3、包的概念問題 1:在操作系統(tǒng)中同一盤符下可以存放兩個

8、完全相同的文件嗎?不可以。問題 2:現(xiàn)在就是希望把兩個完全相同的文件存放在同一盤符下,怎么解決?創(chuàng)建兩個不同名稱的文件夾,把這兩個存放的文件放在不同的文件夾下在開發(fā)中,經(jīng)常會遇到相同名稱類,這時也需要使用不同的文件夾來解決存放相同名稱的類。在 java 中,文件夾的體現(xiàn)是包。(包是 java 程序中的體現(xiàn),包在硬盤上的體現(xiàn)就是文件夾)結(jié)論:在 java 使用包來解決相同名稱類包的作用:就是用來管理 class 文件的包的使用:在 java 中使用關(guān)鍵字 package 來創(chuàng)建一個包,格式:packagedemo;/創(chuàng)建一個名為 demo 的包,屬于單層次包; /多層次包 包和包之間使用點分隔p

9、ackage案例:包的簡單使用分析錯誤:問題: 包是用來管理class 文件的,那么使用 javac 命令編譯后 class 文件應(yīng)該放在com.demo 包中(而包在硬盤上的體現(xiàn)就是文件夾:com/demo 的文件夾)在使用javac 命令編譯時,沒有把生成的class 文件存放在包中在使用帶有包的類進行編譯和運行時,需要注意:1, 編譯時:使用 javac d 存放的路徑x.java2, 運行時:java 包名.x編譯時,使用 javac d 命令:運行時:使用 java 包名.類名包名規(guī)范:1, 包名稱全部都是小寫字母組成2, 當(dāng)包名有多個時,中間使用點來分隔3, 在開發(fā)中,通常包的名稱

10、都是使用倒著書寫的例: 包名:cn.sh4、包和包之間的4.1包和包之間第一種使用關(guān)鍵字 package 創(chuàng)建包。方式案例:包和包之間進行第一個類,屬于 com.yi 包下第二個類,屬于 com.er 包下編譯:修改編譯錯誤:繼續(xù)編譯:修改編譯錯誤:注意:類只要被修飾為 public 后,就必須保證.java 文件的名稱和類名完全一模一樣一個.java 文件中只能書寫一個 public 類,可以書寫多個默認權(quán)限的類編譯:修改編譯錯誤:編譯運行結(jié)果:4.2包和包之間第二種方式以上程序書寫比較麻煩。java 為了簡化書寫,提供了另一種包和包之間類的使用關(guān)鍵字 import 導(dǎo)入需要的包下的類:方式

11、:導(dǎo)入cn.sh.demo.Student;import cn.sh.demo.*;/導(dǎo)入包下所有的類 import cn. .sh.demo.Student;/導(dǎo)入包下具體的類案例:使用 import 關(guān)鍵字改進之前的程序小結(jié):package 用來創(chuàng)建包。在程序中是書寫在java 文件的第一行位置用來導(dǎo)入包下的類。 書寫在 package 下面,class 的上面.Demo1;.sh.Demo2;.sh.demo.Test;import cn.*;問題:以上導(dǎo)入了哪些內(nèi)容?只導(dǎo)入 Demo1 類注意:在使用 import 導(dǎo)入多層次包時,只會導(dǎo)入當(dāng)前包下的類,包下的子級目錄(子包)中的類不會

12、被導(dǎo)入5、包和包之間的繼承&權(quán)限之前學(xué)習(xí)面象時,提過兩個權(quán)限修飾符:public、private在 java 體系中,存在四種private - 默認權(quán)限(不權(quán)限:(從小到大)寫任何修飾符) - protected - publicprivate:只能在本類中。其它類(包含子類)都不能默認:在本類或同一個包中的其它類中protected:在本類中或 同一個包中的其它類中或 不同包中的子類public:沒有限制。任何包中的類都可以public權(quán)限:沒有任何限制protected權(quán)限:專門給子類使用的權(quán)限默認權(quán)限:同一個類中或同一個包中總結(jié):java 中的權(quán)限private默認權(quán)限protecte

13、dpublic同一個類中YESYESYESYES同一個包沒有關(guān)系的類NOYESYESYES同一個包有關(guān)系的類NOYESYESYES不同包沒有關(guān)系的類NONONOYES不同包有關(guān)系的類NONOYESYES子類想使用父類中的 protected 成員函數(shù),就必須先創(chuàng)建子類對象,利用子類對象調(diào)用父類中的成員函數(shù)注意:protected 只能修改成員函數(shù)或成員變量6、eclipse 開發(fā)工具6.1eclipse 介紹在開發(fā)中,java 程序經(jīng)常會使用的專業(yè)開發(fā)工具:eclipse、NetBens eclipse 屬于開源的、免費。eclipse 工具屬于一個開發(fā),可以在這個上安裝開發(fā)各種語言的插件注意:eclipse 工具想要正常的運行,必須配置 JDK 環(huán)境變量eclipse 工具介紹:使用 eclipse 工具創(chuàng)建一個 java 工程(java 項目):在創(chuàng)建的項目中創(chuàng)建 java 程序:使用 eclipse 工具導(dǎo)入已經(jīng)存在的 java 工程:6.2eclipse 常用快捷鍵介紹一些開發(fā)中常用的 eclipse 快捷鍵:代碼補全(單詞聯(lián)想): alt + /添加/取消 單行注釋: ctrl + /添加 多行注釋:ctrl + shift + /取消 多行注釋:ctrl + shift + 快速導(dǎo)包:ctrl + shift + o快

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論