2024年java復(fù)習(xí)筆記期末考試復(fù)習(xí)_第1頁(yè)
2024年java復(fù)習(xí)筆記期末考試復(fù)習(xí)_第2頁(yè)
2024年java復(fù)習(xí)筆記期末考試復(fù)習(xí)_第3頁(yè)
2024年java復(fù)習(xí)筆記期末考試復(fù)習(xí)_第4頁(yè)
2024年java復(fù)習(xí)筆記期末考試復(fù)習(xí)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1.-JavaSEJavaEEJavaME指什么?JavaSE=JavaStandardEditionJavaEE=JavaEnterpriseEditionJavaME=JavaMobileEditionSE重要用于桌面程序,控制臺(tái)開(kāi)發(fā)(JFC)EE企業(yè)級(jí)開(kāi)發(fā)(JSP,EJB)ME嵌入式開(kāi)發(fā)(手機(jī),小家電)2.java長(zhǎng)處?Java語(yǔ)言在安全性、平臺(tái)無(wú)關(guān)性、支持多線程、內(nèi)存管理等許多方面具有卓越的長(zhǎng)處。3.基本數(shù)據(jù)類型的種類和長(zhǎng)度一種字節(jié)等于8位4.強(qiáng)制轉(zhuǎn)換在Java中由于繼承和向上轉(zhuǎn)型,子類可以非常自然地轉(zhuǎn)換成父類,不過(guò)父類轉(zhuǎn)換成子類則需要強(qiáng)制轉(zhuǎn)換。由于子類擁有比父類更多的屬性、更強(qiáng)的功能,因此父類轉(zhuǎn)換為子類需要強(qiáng)制。那么,是不是只要是父類轉(zhuǎn)換為子類就會(huì)成功呢?其實(shí)否則,他們之間的強(qiáng)制類型轉(zhuǎn)換是有條件的。當(dāng)我們用一種類型的構(gòu)造器構(gòu)造出一種對(duì)象時(shí),這個(gè)對(duì)象的類型就已經(jīng)確定的,也就說(shuō)它的本質(zhì)是不會(huì)再發(fā)生變化了。在Java中我們可以通過(guò)繼承、向上轉(zhuǎn)型的關(guān)系使用父類類型來(lái)引用它,這個(gè)時(shí)候我們是使用功能較弱的類型引用功能較強(qiáng)的對(duì)象,這是可行的。不過(guò)將功能較弱的類型強(qiáng)制轉(zhuǎn)功能較強(qiáng)的對(duì)象時(shí),就不一定可以行了。基本數(shù)據(jù)類型之間的強(qiáng)制類型轉(zhuǎn)換:java規(guī)范強(qiáng)烈的不提議布爾型和整型或者浮點(diǎn)型的進(jìn)行轉(zhuǎn)化,很輕易出錯(cuò)5.有關(guān)staticstatic措施屬于整個(gè)類,它不能操縱和處理屬于某個(gè)對(duì)象的成員變量,只能處理屬于整個(gè)類的組員變量,即static措施只能處理本類中的static變量或調(diào)用static措施。6.調(diào)用權(quán)限public是公共措施,在你的這個(gè)項(xiàng)目裏面你所有的類都能訪問(wèn)這個(gè)措施,不加的話就是默認(rèn)的default這個(gè)是只能在你目前包裏才能調(diào)用這個(gè)措施1.private:Java語(yǔ)言中對(duì)訪問(wèn)權(quán)限限制的最窄的修飾符,一般稱之為“私有的”。被其修飾的屬性以及措施只能被該類的對(duì)象訪問(wèn),其子類不能訪問(wèn),更不能容許跨包訪問(wèn)。2.default:即不加任何訪問(wèn)修飾符,一般稱為“默認(rèn)訪問(wèn)權(quán)限“或者“包訪問(wèn)權(quán)限”。該模式下,只容許在同一種包中進(jìn)行訪問(wèn)。3.protected:介于public和private之間的一種訪問(wèn)修飾符,一般稱之為“保護(hù)訪問(wèn)權(quán)限”。被其修飾的屬性以及措施只能被類自身的措施及子類訪問(wèn),雖然子類在不一樣的包中也可以訪問(wèn)。4.public:Java語(yǔ)言中訪問(wèn)限制最寬的修飾符,一般稱之為“公共的”。被其修飾的類、屬性以及措施不僅可以跨類訪問(wèn),并且容許跨包訪問(wèn)7.數(shù)據(jù)初始化不管程序有無(wú)顯示的初始化,Java

虛擬機(jī)都會(huì)先自動(dòng)給它初始化為默認(rèn)值。對(duì)于數(shù)組:1、整數(shù)類型(byte、short、int、long)的基本類型變量的默認(rèn)值為0。2、單精度浮點(diǎn)型(float)的基本類型變量的默認(rèn)值為0.0f。3、雙精度浮點(diǎn)型(double)的基本類型變量的默認(rèn)值為0.0d。4、字符型(char)的基本類型變量的默認(rèn)為“/u0000”。5、布爾性的基本類型變量的默認(rèn)值為false。6、引用類型的變量是默認(rèn)值為null。7、數(shù)組引用類型的變量的默認(rèn)值為null。當(dāng)數(shù)組變量的實(shí)例後,假如沒(méi)有無(wú)顯示的為每個(gè)元素賦值,Java就會(huì)把該數(shù)組的所有元素初始化為其對(duì)應(yīng)類型的默認(rèn)值。注意:對(duì)于單個(gè)數(shù)據(jù),假如不進(jìn)行初始化不能對(duì)其進(jìn)行操作,編譯時(shí)報(bào)錯(cuò)8.數(shù)組遍歷的三種措施 1.for循環(huán) 2.for-each語(yǔ)句遍歷,for(datatypex:arrayname)3.迭代器Iterator遍歷Listlist=newArrayList();

Iteratoriterator=list.iterator();while(iterator.hasNext()){inti=Integer.parseInt(iterator.next().toString());(i);}9.措施重載和重寫(xiě) 措施重載:所謂措施重載是指在一種類中,多種措施的措施名相似,不過(guò)參數(shù)列表不一樣。參數(shù)列表不一樣指的是參數(shù)個(gè)數(shù)、參數(shù)類型或者參數(shù)的次序不一樣。1.在使用重載時(shí)只能通過(guò)不一樣的參數(shù)列表,必須具有不一樣的參數(shù)列表。例如,不一樣的參類型,不一樣的參數(shù)個(gè)數(shù),不一樣的參數(shù)次序。2.不能通過(guò)訪問(wèn)權(quán)限、返回類型、拋出的異常進(jìn)行重載。

3.措施的異常類型和數(shù)目不會(huì)對(duì)重載導(dǎo)致影響。..

4.可以有不一樣的返回類型,只要參數(shù)列表不一樣就可以了。

5.可以有不一樣的訪問(wèn)修飾符。措施重寫(xiě):當(dāng)子類需要修改父類的某些措施進(jìn)行擴(kuò)展,增大功能,程序設(shè)計(jì)者常常把這樣的一種操作措施稱為重寫(xiě),也叫稱為覆寫(xiě)或覆蓋。所謂措施的重寫(xiě)是指子類中的措施與父類中繼承的措施有完全相似的返回值類型、措施名、參數(shù)個(gè)數(shù)以及參數(shù)類型。注意,重寫(xiě)措施時(shí),可以增大父類中的措施權(quán)限,不過(guò)不能縮小父類的措施權(quán)限。當(dāng)父類措施為private子類不能將其重寫(xiě)。super關(guān)鍵字可以從子類訪問(wèn)父類中的內(nèi)容,假如要訪問(wèn)被重寫(xiě)過(guò)的措施,使用“super.措施名(參數(shù)列表)”的形式調(diào)用。10.異常處理(1)Java把異常當(dāng)作對(duì)象來(lái)處理,并定義一種基類作為所有異常的超類。在JavaAPI中已經(jīng)定義了許多異常類,這些異常類分為兩大類,錯(cuò)誤Error和異常Exception。Error和Exception的區(qū)別:Error一般是劫難性的致命的錯(cuò)誤,是程序無(wú)法控制和處理的,當(dāng)出現(xiàn)這些異常時(shí),Java虛擬機(jī)(JVM)一般會(huì)選擇終止線程;Exception一般狀況下是可以被程序處理的,并且在程序中應(yīng)當(dāng)盡量的去處理這些異常。 (2)層次構(gòu)造(3)處理措施Try-catch措施try塊:用于捕捉異常。其後可接零個(gè)或多種catch塊,假如沒(méi)有catch塊,則必須跟一種finally塊。catch塊:用于處理try捕捉到的異常。finally塊:無(wú)論與否捕捉或處理異常,finally塊裏的語(yǔ)句都會(huì)被執(zhí)行。當(dāng)在try塊或catch塊中碰到return語(yǔ)句時(shí),finally語(yǔ)句塊將在措施返回之前被執(zhí)行。編寫(xiě)多重catch語(yǔ)句塊注意次序問(wèn)題:先小後大,即先子類後父類。throws措施申明拋出異常,只是拋出異常,并沒(méi)有去處理它(4)自定義異常創(chuàng)立自定義異常類。在措施中通過(guò)throw關(guān)鍵字拋出異常對(duì)象。假如在目前拋出異常的措施中處理異常,可以使用try-catch語(yǔ)句捕捉并處理;否則在措施的申明處通過(guò)throws關(guān)鍵字指明要拋出給措施調(diào)用者的異常,繼續(xù)進(jìn)行下一步操作。在出現(xiàn)異常措施的調(diào)用者中捕捉并處理異常。classMyExceptionextendsException{privateintdetail;MyException(inta){detail=a;}publicStringtoString(){return"MyException["+detail+"]";}}publicclassTestMyException{staticvoidcompute(inta)throwsMyException{("Calledcompute("+a+")");if(a>10){thrownewMyException(a);}("Normalexit!");}publicstaticvoidmain(String[]args){try{compute(1);compute(20);}catch(MyExceptionme){("Caught"+me);}}}11.類的繼承繼承的限制1.java只能顯示單繼承,即一種類只能有一種父類2.不容許多重繼承(多重繼承指的是一種類可以同步從多于一種的父類那裏繼承行為和特性,Java為了保證數(shù)據(jù)安全,它只容許單繼承。子類只能繼承一種父類,也就是說(shuō)只能存在單一繼承,不過(guò)卻可以實(shí)現(xiàn)多種接口,間接實(shí)現(xiàn)了多重集成)3.繼承只能繼承非私有的屬性和措施4.構(gòu)造措施不能被繼承構(gòu)造措施假如子類需要繼承父類的含參構(gòu)造函數(shù)則需要使用super命令(假如父類包括多種含參構(gòu)造函數(shù)則根據(jù)參數(shù)使用super命令)

假如父類建立了構(gòu)造函數(shù)且都具有參數(shù),則子類必須使用super命令12.Object類Object類存儲(chǔ)在java.lang包中,是所有java類(Object類除外)的終極父類。當(dāng)然,數(shù)組也繼承了Object類。然而,接口是不繼承Object類的。一般來(lái)說(shuō),我們所建立的類都會(huì)有如下措施:protectedObjectclone()booleanequals(Objectobj)protectedvoidfinalize()Class<>getClass()inthashCode()voidnotify()voidnotifyAll()StringtoString()voidwait()voidwait(longtimeout)voidwait(longtimeout,intnanos)這是由于所有其他java類都繼承了Object類。13.抽象類用關(guān)鍵字abstract修飾的類就是抽象類,它是所有子類的公共屬性(數(shù)據(jù))和行為措施的集合,抽象類沒(méi)有詳細(xì)對(duì)象,是處在組織概念的層次關(guān)系而存在的類。用關(guān)鍵字abstract修飾的措施就是抽象措施(沒(méi)有抽象變量),抽象措施只有措施頭,背面跟一種分號(hào)(;),沒(méi)有措施體,抽象措施的措施體可在其子類中根據(jù)子類的詳細(xì)狀況來(lái)實(shí)現(xiàn),抽象措施只存在抽象類或接口中。14.final類申明為final的類不能是父類,即final不再派生子類,final可以用來(lái)修飾變量和措施。

final類是處在類的最底層的類,假如沒(méi)必要再派生子類,一般用final關(guān)鍵字來(lái)修飾,表明它是最終類,被final修飾的類一般是有固定作用,完畢一定原則功能的類,例如java庫(kù)中的數(shù)學(xué)類Math等。

abstract和final不能同步使用,關(guān)鍵字abstract不能修飾實(shí)例變量,也不能與private、static、final等同步修飾一種組員措施,并且abstract類必須在abstract類中。關(guān)鍵字static修飾的措施只能修飾static組員變量,同步static修飾的組員變量和措施不能this引用.。15.接口接口(Interface),在JAVA編程語(yǔ)言中是一種抽象類型,是抽象措施的集合。接口一般以interface來(lái)申明。一種類通過(guò)繼承接口的方式,從而來(lái)繼承接口的抽象措施。假如一種類只由抽象措施和全局常量構(gòu)成,那么這種狀況下不會(huì)將其定義為一種抽象類。只會(huì)定義為一種接口,因此接口嚴(yán)格的來(lái)講屬于一種特殊的類,而這個(gè)類裏面只有抽象措施和全局常量,就連構(gòu)造措施也沒(méi)有。由于接口裏面存在抽象措施,因此接口對(duì)象不能直接使用關(guān)鍵字new進(jìn)行實(shí)例化。接口的使用原則如下:(1)接口可以多繼承,如interfaceCextendsA,B{…}//使用的是extends

(2)接口必須要有子類,但此時(shí)一種子類可以使用implements關(guān)鍵字實(shí)現(xiàn)多種接口;

(3)接口的子類(假如不是抽象類),那么必須要覆寫(xiě)接口中的所有抽象措施;

(4)接口的對(duì)象可以運(yùn)用子類對(duì)象的向上轉(zhuǎn)型進(jìn)行實(shí)例化。注意:,接口中的訪問(wèn)權(quán)限只有一種:public,即:定義接口措施和全局常量的時(shí)候就算沒(méi)有寫(xiě)上public,那么最終的訪問(wèn)權(quán)限也是public,注意不是default。若子類中沒(méi)用public修飾,則訪問(wèn)權(quán)限變嚴(yán)格了,給子類分派的是更低的訪問(wèn)權(quán)限。因此,在定義接口的時(shí)候強(qiáng)烈提議在抽象措施前加上public

。15.塑型塑型(type-casting)又稱為類型轉(zhuǎn)換方式。將對(duì)象臨時(shí)當(dāng)成更一般的對(duì)象來(lái)看待,并不變化其類型只能被塑型為父類類型。當(dāng)一種類對(duì)象被塑型為其父類後,它提供的措施會(huì)減少。措施的查找——總是在變量申明時(shí)所屬的類中進(jìn)行查找。16.多態(tài)多態(tài)的定義:指容許不一樣類的對(duì)象對(duì)同一消息做出響應(yīng)。即同一消息可以根據(jù)發(fā)送對(duì)象的不一樣而采用多種不一樣的行為方式。(發(fā)送消息就是函數(shù)調(diào)用)。多態(tài)存在的三個(gè)必要條件一、要有繼承;二、要有重寫(xiě);三、父類引用指向子類對(duì)象。多態(tài)性有兩種:1)編譯時(shí)多態(tài)性對(duì)于多種同名措施,假如在編譯時(shí)可以確定執(zhí)行同名措施中的哪一種,則稱為編譯時(shí)多態(tài)性.2)運(yùn)行時(shí)多態(tài)性假如在編譯時(shí)不能確定,只能在運(yùn)行時(shí)才能確定執(zhí)行多種同名措施中的哪一種,則稱為運(yùn)行時(shí)多態(tài)性具有繼承關(guān)系的多態(tài)調(diào)用在繼承鏈中對(duì)象措施的調(diào)用存在一種優(yōu)先級(jí):this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)。17.虛措施調(diào)用Java虛措施你可以理解為java裏所有被overriding的措施都是virtual的,所有重寫(xiě)的措施都是override的。虛措施和抽象措施并不是同一種概念。18.I/O流 Java中的流,可以從不一樣的角度進(jìn)行分類。按照數(shù):輸入流和輸出流。按照處理數(shù)據(jù)單位不一樣可以分為:字節(jié)流和字符流。按照實(shí)現(xiàn)功能不一樣可以分為:節(jié)點(diǎn)流和處理流。輸出流:從程序輸出到文獻(xiàn)輸入流:從文獻(xiàn)輸入到程序字節(jié)流:一次讀入或讀出是8位二進(jìn)制。字符流:一次讀入或讀出是16位二進(jìn)制。Jdk提供的流繼承了四大類:InputStream(字節(jié)輸入流),OutputStream(字節(jié)輸出流),Reader(字符輸入流),Writer(字符輸出流)。常用的類和措施:FileWriterwriter=newFileWriter(fileName);writer.close();FileWriterwriter=newFileWriter(filename,true);//追加反復(fù)內(nèi)容BufferWriterout=newBufferWriter(newFileWriter(fileName));//緩沖器流,高效BufferReaderin=newBufferReader(newFileWriter(fileName));DataOutputStreamout=newDataOutputStream(newFileOutputStream((fileName)));//寫(xiě)DataInputStreamout=newDataInputStream(newFileInputStream((fileName)));//讀還可以嵌套一種BufferedInputStream,提高效率對(duì)象序列化寫(xiě)對(duì)象:ObjectOutputStreamofs1=newObjectOutputStream(newFileOutputStream(ofs));從文獻(xiàn)中讀對(duì)象:ObjectInputStreamifs1=newObjectInputStream(newFileInputStream(ifs));迭代遍歷:Iterator<Student>i=students.values().iterator(); while(i.hasNext()) { ofs1.writeObject(i.next()); }19.集合Collection是最基本的集合接口List接口和Set接口的父接口,一種Collection代表一組Object,即Collection的元素(Elements)。Set接口同樣是Collection接口的一種子接口,它表達(dá)數(shù)學(xué)意義上的集合概念。Set中不包括反復(fù)的元素,即Set中不存兩個(gè)這樣的元素e1和e2,使得e1.equals(e2)為true。Map:key-value的鍵值對(duì),key不容許反復(fù),value可以1、嚴(yán)格來(lái)說(shuō)Map并不是一種集合,而是兩個(gè)集合之間的映射關(guān)系。

2、這兩個(gè)集合沒(méi)每一條數(shù)據(jù)通過(guò)映射關(guān)系,我們可以當(dāng)作是一條數(shù)據(jù)。即Entry(key,value)。Map可以當(dāng)作是由多種Entry構(gòu)成。

3、由于Map集合即沒(méi)有實(shí)現(xiàn)于Collection接口,也沒(méi)有實(shí)現(xiàn)Iterable接口,因此不能對(duì)Map集合進(jìn)行for-each遍歷。20.多線程 兩種實(shí)現(xiàn)方式: 新建一種繼承Thread類的線程類,其中有一種重寫(xiě)的run措施 新建一種實(shí)現(xiàn)Runnable接口的類,這個(gè)類在新線程中運(yùn)行。NewThread(t).start 線程中的數(shù)據(jù)共享: 只用一種Runnable對(duì)象為參數(shù)創(chuàng)立多種線程,newThread(對(duì)象名,“線程名”).start 線程的同步控制: 鎖旗標(biāo)synchronized(對(duì)象){代碼段},可以放在run措施裏,也可以放在共享的資源類中作為一種措施publicsynchronized[type][name](){}21.泛型 泛型,即“參數(shù)化類型”。一提到參數(shù),最熟悉的就是定義措施時(shí)有形參,然後調(diào)用此措施時(shí)傳遞實(shí)參。那么參數(shù)化類型怎么理解呢?顧名思義,就是將類型由本來(lái)的詳細(xì)的類型參數(shù)化,類似于措施中的變量參數(shù),此時(shí)類型也定義成參數(shù)形式(可以稱之為類型形參),然後在使用/調(diào)用時(shí)傳入詳細(xì)的類型(類型實(shí)參)。 把類重新設(shè)計(jì),使用泛型,強(qiáng)制轉(zhuǎn)換的錯(cuò)誤將被

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論