




已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Programming with Types,Java是種強(qiáng)類型語言必須顯示規(guī)定數(shù)據(jù)類型 使用基本類型可以大大地改善系統(tǒng)的特性,但是它不具有對(duì)象的特性,也不能滿足很多特殊的需要。所以要用包裝類來包裝基本類型,使它變成對(duì)象類型。 幾乎所有的基本類型(e.g. int, float, boolean)都有一個(gè)類或稱“包裝器類”與其對(duì)應(yīng),Class類則是表示類和接口的類型。 這些類具有三個(gè)優(yōu)點(diǎn): (1)、特定類型的有用靜態(tài)方法具有邏輯的和統(tǒng)一的歸宿。For example,把字符串轉(zhuǎn)化為float的方法是Float類型類的靜態(tài)方法 (2)、描述性的方法和域也有邏輯歸宿。常數(shù)MIN_VALUE和MAX_VALUE存在于任一數(shù)值基本類型的類中,描述一個(gè)super類的方法存在于它的Class對(duì)象中。 (3)、對(duì)于基本類型,可以創(chuàng)建包裝器對(duì)象保存它們的值,然后這些對(duì)象可以應(yīng)用。(-所以基本類型的類叫做包裝器類(wrapper class)。),這些類型的層次關(guān)系,Java的威力:能從對(duì)應(yīng)用程序有意義的地方 載入類。 說明載入類的功能:游戲 如果開發(fā)一個(gè)游戲,使得玩家可以利用他自己選擇的任何策略編寫類來玩游戲,需要提供一個(gè)抽象類Player,玩家繼承它并實(shí)現(xiàn)自己的策略。 當(dāng)玩家準(zhǔn)備嘗試自己的策略時(shí),他們往系統(tǒng)發(fā)送編譯過的字節(jié)碼。字節(jié)碼被載入游戲,經(jīng)過運(yùn)算,把得分返回給玩家。,讓人感興趣的部分是:如何使游戲程序載入編譯過的字節(jié)碼使用類載入器(class loader) 通過繼承抽象的ClassLoader并實(shí)現(xiàn)它的loadClass()方法定義類載入器 loadClass方法: protected abstract Class loadClass(String name, boolean resolve) throws ClassNotFoundException / 如果resolve為true, 它必須調(diào)用resolveClass以確保這個(gè)類引用的所有類都載入了,包裝器類概述,大部分基本語言類型都有表示它的類,叫做包裝器類。 包裝器類具有2個(gè)基本功能: 1、為與這個(gè)類型相關(guān)的方法和變量(e.g. 字符串轉(zhuǎn)換和 取值范圍常數(shù))提供一個(gè)歸宿。 下面的實(shí)例檢驗(yàn)到底是可以在一個(gè)特定的值上進(jìn)行較快的float運(yùn) 算,還是這個(gè)值需要比float所能提供的更大范圍: if ( value = Float.MIN_VALUE ,一些對(duì)所有的包裝器類公用的方法,1、構(gòu)造函數(shù),以基本類型為自變量,創(chuàng)建相應(yīng)類 型的一個(gè)對(duì)象(e.g. Character(char); ) 2、構(gòu)造函數(shù),解碼一個(gè)簡單的String參數(shù),得到 對(duì)象的初始值(Integer(String) ) 3、toString()方法:得到對(duì)象類型的字符串形式 4、typeValue():得到基本類型值,e.g. Character.charValue, Boolean.booleanValue ; 5、equals():比較同類型的類對(duì)象是否相等(區(qū)分大小寫) 6、hashCode():返回一個(gè)散列表的基于值的散列碼,利用包裝器類進(jìn)行類型轉(zhuǎn)化的常用辦法 (以Integer為例,其他類類似),1 、用包裝器類來包裝基本類型,使它變成對(duì)象類型。 用其Constructor Summary :Integer (int value) , Integer(String s) 分別接受int和String。 2 、把一個(gè)包裝類變成基本類型: 有三種常用的方法: a. intValue(): 返回的是int 其它的類型也有這方法:#Value() 返回的是# 。 b. parseInt(String s): 這是一個(gè)static方法,用類名.parseInt(Strings) 返回的是int ,不用實(shí)例化一個(gè)類。要注意它傳入的是String 。 其它的類型也有這方法 parse#(String)返回的 是# 。 c. valueOf(String s): 這是一個(gè)static方法,用類名. valueOf(Strings) 但它返回的是Integer,是對(duì)象類型,可以與a方法一起用-就可 以返回int 。 其它的類型也有這方法 valueOf(String s)返回的是# 對(duì)象類型。 3、 最常用的方法: String(byte bytes, int offset,int length) byte buf = new byte100; int len = bis.read(buf); System.out.println( new String(buf, 0, en) ); / (explain it),具體的對(duì)象類型(其中的一些常用方法),1、Boolean: 不管其中大小寫字母如何混雜,上頁中提到的Constructor Summary只把“true”當(dāng)作true,其他字符串都解釋為false,2、Character: 除提供常數(shù)MIN_VALUE和MAX_VALUE外,還提供常 數(shù)MIN_RADIX和MAX_RADIX(字符數(shù)字和整數(shù)之間 互譯的方法所能理解的最小和最大基數(shù)(explain it) ) public static int digit(char ch, int radix):返回指定基數(shù)上的數(shù)字ch的數(shù)值。若給定的字符不是合法數(shù)字,返回-1 public static char forDigit(int digit, int radix): 返回給定數(shù)字在指定的基數(shù)上的字符值。若給定的數(shù)字在指定的基數(shù)上非法,返回字符u0000 public static boolean isLowercase(char ch): 如果ch是個(gè)小 寫字母,返回true ( Uppercase同理 ) public static boolean isDigit(char ch) public static boolean isLetter(char ch) public static boolean isLetterOfDigit(char ch) public static boolean isJavaLetter(char ch) / 是否可以作為Java標(biāo)識(shí) / 符的第一個(gè)字母a letter | _ | $ public static boolean isJavaLetterOrDigit(char ch) public static boolean isSpace(char ch) / , t, n, f, r,PS:部分轉(zhuǎn)義符意義列表,f 新頁符(FF) r 回車(R) b 回格(Backspace, BS) t 水平制表符(HT) n 換行符(LF) ” 雙引號(hào)(“) 單引號(hào)() 反斜杠(),3、一些Number類的共同的常用方法前面 已列出,故不再贅述 補(bǔ)充說明: 除標(biāo)準(zhǔn)的Number方法,F(xiàn)loat和Double支持以下 方法(以Float和float為例,Double和Double類似) public final static float POSITIVE_INFINITY / +的值 public final static float NEGATIVE_INFIN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司條線活動(dòng)方案
- 公司紀(jì)念品策劃方案
- 公司精神文明活動(dòng)方案
- 公司節(jié)日年度策劃方案
- 公司愛心衛(wèi)生間活動(dòng)方案
- 公司節(jié)約能源活動(dòng)方案
- 公司果園維護(hù)活動(dòng)方案
- 公司求婚驚喜策劃方案
- 公司核心競爭力活動(dòng)方案
- 公司芽莊旅游策劃方案
- 2025年云南南方地勘工程有限公司招聘筆試參考題庫含答案解析
- 杭州市富陽區(qū)衛(wèi)健系統(tǒng)事業(yè)單位招聘筆試真題2024
- 2023-2024學(xué)年貴州省黔南州都勻市統(tǒng)編版三年級(jí)下冊(cè)期末考試語文試卷
- 2025鋼管租賃合同樣本
- 2024年福建省廈門市思明區(qū)初中畢業(yè)班適應(yīng)性練習(xí)(二)地理試卷
- 醫(yī)學(xué)多學(xué)科診療制度
- 游泳救生員勞務(wù)合同協(xié)議
- 國家開放大學(xué)2025春《公共部門人力資源管理》形考任務(wù)1-4參考答案
- 本人飲酒免責(zé)協(xié)議書
- 2025年臨床執(zhí)業(yè)醫(yī)師考試重要技能試題及答案
- 歷史七年級(jí)歷史下冊(cè)期末測試卷(1~21課) 2024-2025學(xué)年七年級(jí)歷史下(統(tǒng)編版2024)
評(píng)論
0/150
提交評(píng)論