版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1.-JavaSEJavaEEJavaME指什么?JavaSE=JavaStandardEditionJavaEE=JavaEnterpriseEditionJavaME=JavaMobileEditionSE重要用于桌面程序,控制臺開發(fā)(JFC)EE企業(yè)級開發(fā)(JSP,EJB)ME嵌入式開發(fā)(手機,小家電)2.java長處?Java語言在安全性、平臺無關性、支持多線程、內(nèi)存管理等許多方面具有卓越的長處。3.基本數(shù)據(jù)類型的種類和長度一種字節(jié)等于8位4.強制轉(zhuǎn)換在Java中由于繼承和向上轉(zhuǎn)型,子類可以非常自然地轉(zhuǎn)換成父類,不過父類轉(zhuǎn)換成子類則需要強制轉(zhuǎn)換。由于子類擁有比父類更多的屬性、更強的功能,因此父類轉(zhuǎn)換為子類需要強制。那么,是不是只要是父類轉(zhuǎn)換為子類就會成功呢?其實否則,他們之間的強制類型轉(zhuǎn)換是有條件的。當我們用一種類型的構造器構造出一種對象時,這個對象的類型就已經(jīng)確定的,也就說它的本質(zhì)是不會再發(fā)生變化了。在Java中我們可以通過繼承、向上轉(zhuǎn)型的關系使用父類類型來引用它,這個時候我們是使用功能較弱的類型引用功能較強的對象,這是可行的。不過將功能較弱的類型強制轉(zhuǎn)功能較強的對象時,就不一定可以行了?;緮?shù)據(jù)類型之間的強制類型轉(zhuǎn)換:java規(guī)范強烈的不提議布爾型和整型或者浮點型的進行轉(zhuǎn)化,很輕易出錯5.有關staticstatic措施屬于整個類,它不能操縱和處理屬于某個對象的成員變量,只能處理屬于整個類的組員變量,即static措施只能處理本類中的static變量或調(diào)用static措施。6.調(diào)用權限public是公共措施,在你的這個項目裏面你所有的類都能訪問這個措施,不加的話就是默認的default這個是只能在你目前包裏才能調(diào)用這個措施1.private:Java語言中對訪問權限限制的最窄的修飾符,一般稱之為“私有的”。被其修飾的屬性以及措施只能被該類的對象訪問,其子類不能訪問,更不能容許跨包訪問。2.default:即不加任何訪問修飾符,一般稱為“默認訪問權限“或者“包訪問權限”。該模式下,只容許在同一種包中進行訪問。3.protected:介于public和private之間的一種訪問修飾符,一般稱之為“保護訪問權限”。被其修飾的屬性以及措施只能被類自身的措施及子類訪問,雖然子類在不一樣的包中也可以訪問。4.public:Java語言中訪問限制最寬的修飾符,一般稱之為“公共的”。被其修飾的類、屬性以及措施不僅可以跨類訪問,并且容許跨包訪問7.數(shù)據(jù)初始化不管程序有無顯示的初始化,Java
虛擬機都會先自動給它初始化為默認值。對于數(shù)組:1、整數(shù)類型(byte、short、int、long)的基本類型變量的默認值為0。2、單精度浮點型(float)的基本類型變量的默認值為0.0f。3、雙精度浮點型(double)的基本類型變量的默認值為0.0d。4、字符型(char)的基本類型變量的默認為“/u0000”。5、布爾性的基本類型變量的默認值為false。6、引用類型的變量是默認值為null。7、數(shù)組引用類型的變量的默認值為null。當數(shù)組變量的實例後,假如沒有無顯示的為每個元素賦值,Java就會把該數(shù)組的所有元素初始化為其對應類型的默認值。注意:對于單個數(shù)據(jù),假如不進行初始化不能對其進行操作,編譯時報錯8.數(shù)組遍歷的三種措施 1.for循環(huán) 2.for-each語句遍歷,for(datatypex:arrayname)3.迭代器Iterator遍歷Listlist=newArrayList();
Iteratoriterator=list.iterator();while(iterator.hasNext()){inti=Integer.parseInt(iterator.next().toString());(i);}9.措施重載和重寫 措施重載:所謂措施重載是指在一種類中,多種措施的措施名相似,不過參數(shù)列表不一樣。參數(shù)列表不一樣指的是參數(shù)個數(shù)、參數(shù)類型或者參數(shù)的次序不一樣。1.在使用重載時只能通過不一樣的參數(shù)列表,必須具有不一樣的參數(shù)列表。例如,不一樣的參類型,不一樣的參數(shù)個數(shù),不一樣的參數(shù)次序。2.不能通過訪問權限、返回類型、拋出的異常進行重載。
3.措施的異常類型和數(shù)目不會對重載導致影響。..
4.可以有不一樣的返回類型,只要參數(shù)列表不一樣就可以了。
5.可以有不一樣的訪問修飾符。措施重寫:當子類需要修改父類的某些措施進行擴展,增大功能,程序設計者常常把這樣的一種操作措施稱為重寫,也叫稱為覆寫或覆蓋。所謂措施的重寫是指子類中的措施與父類中繼承的措施有完全相似的返回值類型、措施名、參數(shù)個數(shù)以及參數(shù)類型。注意,重寫措施時,可以增大父類中的措施權限,不過不能縮小父類的措施權限。當父類措施為private子類不能將其重寫。super關鍵字可以從子類訪問父類中的內(nèi)容,假如要訪問被重寫過的措施,使用“super.措施名(參數(shù)列表)”的形式調(diào)用。10.異常處理(1)Java把異常當作對象來處理,并定義一種基類作為所有異常的超類。在JavaAPI中已經(jīng)定義了許多異常類,這些異常類分為兩大類,錯誤Error和異常Exception。Error和Exception的區(qū)別:Error一般是劫難性的致命的錯誤,是程序無法控制和處理的,當出現(xiàn)這些異常時,Java虛擬機(JVM)一般會選擇終止線程;Exception一般狀況下是可以被程序處理的,并且在程序中應當盡量的去處理這些異常。 (2)層次構造(3)處理措施Try-catch措施try塊:用于捕捉異常。其後可接零個或多種catch塊,假如沒有catch塊,則必須跟一種finally塊。catch塊:用于處理try捕捉到的異常。finally塊:無論與否捕捉或處理異常,finally塊裏的語句都會被執(zhí)行。當在try塊或catch塊中碰到return語句時,finally語句塊將在措施返回之前被執(zhí)行。編寫多重catch語句塊注意次序問題:先小後大,即先子類後父類。throws措施申明拋出異常,只是拋出異常,并沒有去處理它(4)自定義異常創(chuàng)立自定義異常類。在措施中通過throw關鍵字拋出異常對象。假如在目前拋出異常的措施中處理異常,可以使用try-catch語句捕捉并處理;否則在措施的申明處通過throws關鍵字指明要拋出給措施調(diào)用者的異常,繼續(xù)進行下一步操作。在出現(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ù)安全,它只容許單繼承。子類只能繼承一種父類,也就是說只能存在單一繼承,不過卻可以實現(xiàn)多種接口,間接實現(xiàn)了多重集成)3.繼承只能繼承非私有的屬性和措施4.構造措施不能被繼承構造措施假如子類需要繼承父類的含參構造函數(shù)則需要使用super命令(假如父類包括多種含參構造函數(shù)則根據(jù)參數(shù)使用super命令)
假如父類建立了構造函數(shù)且都具有參數(shù),則子類必須使用super命令12.Object類Object類存儲在java.lang包中,是所有java類(Object類除外)的終極父類。當然,數(shù)組也繼承了Object類。然而,接口是不繼承Object類的。一般來說,我們所建立的類都會有如下措施:protectedObjectclone()booleanequals(Objectobj)protectedvoidfinalize()Class<>getClass()inthashCode()voidnotify()voidnotifyAll()StringtoString()voidwait()voidwait(longtimeout)voidwait(longtimeout,intnanos)這是由于所有其他java類都繼承了Object類。13.抽象類用關鍵字abstract修飾的類就是抽象類,它是所有子類的公共屬性(數(shù)據(jù))和行為措施的集合,抽象類沒有詳細對象,是處在組織概念的層次關系而存在的類。用關鍵字abstract修飾的措施就是抽象措施(沒有抽象變量),抽象措施只有措施頭,背面跟一種分號(;),沒有措施體,抽象措施的措施體可在其子類中根據(jù)子類的詳細狀況來實現(xiàn),抽象措施只存在抽象類或接口中。14.final類申明為final的類不能是父類,即final不再派生子類,final可以用來修飾變量和措施。
final類是處在類的最底層的類,假如沒必要再派生子類,一般用final關鍵字來修飾,表明它是最終類,被final修飾的類一般是有固定作用,完畢一定原則功能的類,例如java庫中的數(shù)學類Math等。
abstract和final不能同步使用,關鍵字abstract不能修飾實例變量,也不能與private、static、final等同步修飾一種組員措施,并且abstract類必須在abstract類中。關鍵字static修飾的措施只能修飾static組員變量,同步static修飾的組員變量和措施不能this引用.。15.接口接口(Interface),在JAVA編程語言中是一種抽象類型,是抽象措施的集合。接口一般以interface來申明。一種類通過繼承接口的方式,從而來繼承接口的抽象措施。假如一種類只由抽象措施和全局常量構成,那么這種狀況下不會將其定義為一種抽象類。只會定義為一種接口,因此接口嚴格的來講屬于一種特殊的類,而這個類裏面只有抽象措施和全局常量,就連構造措施也沒有。由于接口裏面存在抽象措施,因此接口對象不能直接使用關鍵字new進行實例化。接口的使用原則如下:(1)接口可以多繼承,如interfaceCextendsA,B{…}//使用的是extends
(2)接口必須要有子類,但此時一種子類可以使用implements關鍵字實現(xiàn)多種接口;
(3)接口的子類(假如不是抽象類),那么必須要覆寫接口中的所有抽象措施;
(4)接口的對象可以運用子類對象的向上轉(zhuǎn)型進行實例化。注意:,接口中的訪問權限只有一種:public,即:定義接口措施和全局常量的時候就算沒有寫上public,那么最終的訪問權限也是public,注意不是default。若子類中沒用public修飾,則訪問權限變嚴格了,給子類分派的是更低的訪問權限。因此,在定義接口的時候強烈提議在抽象措施前加上public
。15.塑型塑型(type-casting)又稱為類型轉(zhuǎn)換方式。將對象臨時當成更一般的對象來看待,并不變化其類型只能被塑型為父類類型。當一種類對象被塑型為其父類後,它提供的措施會減少。措施的查找——總是在變量申明時所屬的類中進行查找。16.多態(tài)多態(tài)的定義:指容許不一樣類的對象對同一消息做出響應。即同一消息可以根據(jù)發(fā)送對象的不一樣而采用多種不一樣的行為方式。(發(fā)送消息就是函數(shù)調(diào)用)。多態(tài)存在的三個必要條件一、要有繼承;二、要有重寫;三、父類引用指向子類對象。多態(tài)性有兩種:1)編譯時多態(tài)性對于多種同名措施,假如在編譯時可以確定執(zhí)行同名措施中的哪一種,則稱為編譯時多態(tài)性.2)運行時多態(tài)性假如在編譯時不能確定,只能在運行時才能確定執(zhí)行多種同名措施中的哪一種,則稱為運行時多態(tài)性具有繼承關系的多態(tài)調(diào)用在繼承鏈中對象措施的調(diào)用存在一種優(yōu)先級:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)。17.虛措施調(diào)用Java虛措施你可以理解為java裏所有被overriding的措施都是virtual的,所有重寫的措施都是override的。虛措施和抽象措施并不是同一種概念。18.I/O流 Java中的流,可以從不一樣的角度進行分類。按照數(shù):輸入流和輸出流。按照處理數(shù)據(jù)單位不一樣可以分為:字節(jié)流和字符流。按照實現(xiàn)功能不一樣可以分為:節(jié)點流和處理流。輸出流:從程序輸出到文獻輸入流:從文獻輸入到程序字節(jié)流:一次讀入或讀出是8位二進制。字符流:一次讀入或讀出是16位二進制。Jdk提供的流繼承了四大類:InputStream(字節(jié)輸入流),OutputStream(字節(jié)輸出流),Reader(字符輸入流),Writer(字符輸出流)。常用的類和措施:FileWriterwriter=newFileWriter(fileName);writer.close();FileWriterwriter=newFileWriter(filename,true);//追加反復內(nèi)容BufferWriterout=newBufferWriter(newFileWriter(fileName));//緩沖器流,高效BufferReaderin=newBufferReader(newFileWriter(fileName));DataOutputStreamout=newDataOutputStream(newFileOutputStream((fileName)));//寫DataInputStreamout=newDataInputStream(newFileInputStream((fileName)));//讀還可以嵌套一種BufferedInputStream,提高效率對象序列化寫對象:ObjectOutputStreamofs1=newObjectOutputStream(newFileOutputStream(ofs));從文獻中讀對象: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接口的一種子接口,它表達數(shù)學意義上的集合概念。Set中不包括反復的元素,即Set中不存兩個這樣的元素e1和e2,使得e1.equals(e2)為true。Map:key-value的鍵值對,key不容許反復,value可以1、嚴格來說Map并不是一種集合,而是兩個集合之間的映射關系。
2、這兩個集合沒每一條數(shù)據(jù)通過映射關系,我們可以當作是一條數(shù)據(jù)。即Entry(key,value)。Map可以當作是由多種Entry構成。
3、由于Map集合即沒有實現(xiàn)于Collection接口,也沒有實現(xiàn)Iterable接口,因此不能對Map集合進行for-each遍歷。20.多線程 兩種實現(xiàn)方式: 新建一種繼承Thread類的線程類,其中有一種重寫的run措施 新建一種實現(xiàn)Runnable接口的類,這個類在新線程中運行。NewThread(t).start 線程中的數(shù)據(jù)共享: 只用一種Runnable對象為參數(shù)創(chuàng)立多種線程,newThread(對象名,“線程名”).start 線程的同步控制: 鎖旗標synchronized(對象){代碼段},可以放在run措施裏,也可以放在共享的資源類中作為一種措施publicsynchronized[type][name](){}21.泛型 泛型,即“參數(shù)化類型”。一提到參數(shù),最熟悉的就是定義措施時有形參,然後調(diào)用此措施時傳遞實參。那么參數(shù)化類型怎么理解呢?顧名思義,就是將類型由本來的詳細的類型參數(shù)化,類似于措施中的變量參數(shù),此時類型也定義成參數(shù)形式(可以稱之為類型形參),然後在使用/調(diào)用時傳入詳細的類型(類型實參)。 把類重新設計,使用泛型,強制轉(zhuǎn)換的錯誤將被
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 租房協(xié)議書游戲
- 2025年度個人住房按揭貸款合同協(xié)議3篇
- 2025年度個人房產(chǎn)租賃押金返還融資協(xié)議4篇
- 2025年度鋼材貿(mào)易代理與結(jié)算服務合同
- 2025-2030全球單深位旋轉(zhuǎn)伸縮貨叉行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球奶酪凝乳酶行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球棉籽濃縮蛋白 (CPC)行業(yè)調(diào)研及趨勢分析報告
- 2024年軍隊文職人員招聘考試《教育學》模擬卷2
- 外教聘請中介合同合同協(xié)議
- 2025年度個人挖掘機租賃安全責任合同4篇
- 2024公路瀝青路面結(jié)構內(nèi)部狀況三維探地雷達快速檢測規(guī)程
- 浙江省臺州市2021-2022學年高一上學期期末質(zhì)量評估政治試題 含解析
- 2024年高考真題-地理(河北卷) 含答案
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 2024年浙江省中考科學試卷
- 初三科目綜合模擬卷
- 2024風力發(fā)電葉片維保作業(yè)技術規(guī)范
- 《思想道德與法治》課程教學大綱
- 2024光儲充一體化系統(tǒng)解決方案
- 2024年全國高考新課標卷物理真題(含答案)
- 處理后事授權委托書
評論
0/150
提交評論