freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java學(xué)習(xí)筆記(參考版)

2024-08-15 18:28本頁(yè)面
  

【正文】 也就是說(shuō)事件源對(duì)象間接調(diào)用了事件監(jiān)聽器的方法,并以事件對(duì)象為實(shí)參傳到事件監(jiān)聽器的方法中,要就叫事件源給事件監(jiān)聽器的方法發(fā)了一個(gè)消息(事件對(duì)象)。實(shí)現(xiàn)在自定義接口中定義好的用于事件處理的方法,C類要繼承EventObject類。首先了解一下什么是發(fā)消息:A,B,C三個(gè)類,分別作為事件源,事件處理者,事件對(duì)象。在事件監(jiān)聽器接口中定義的方法,都要以事件對(duì)象為參數(shù)。事件源和事件處理者之間建立了授權(quán)關(guān)系,也就是在事件源類中有一個(gè)事件處理者的對(duì)象作為屬性,也可能是一個(gè)事件處理者的集合。注意:一定要在圖形界面都其他功能都設(shè)置好之后才能設(shè)置可見(jiàn)性。CardLayout,卡片布局,面板重疊放置。BorderLayout,按方位進(jìn)行布局管理,(North,South,East,West,Middle)不明確指定,就會(huì)默認(rèn)加載在中間(Middle),add(Component p,String place)這個(gè)方法是在指定的位置添加組件??捎玫牟季止芾砥鳎篎lowLayout,流式布局管。Jpanel,他不是頂層容器,必須放在頂層容器中,任何一個(gè)容器都有add()方法,Panel面板是透明的(默認(rèn)),他也是一個(gè)組件。JFrame,這是一個(gè)最頂層的窗體容器,所有其他的組件必須放在頂層容器里。java中的圖形界面GUI,圖形化的用戶接口,為了人機(jī)交互使用的。和TreeSet類一樣,在使用自定義類作Key時(shí),要用自定義類實(shí)現(xiàn)Comparable接口。Properties,這個(gè)類是Hashtable的子類,他的Key和value只能是字符串。Hashtabl也是Map接口的實(shí)現(xiàn)類,他和HashMap比較相似,只不過(guò)這個(gè)類對(duì)象是重量級(jí)的,也是線程安全的。這個(gè)類的對(duì)象是線程不安全的。HashMap是Map接口的實(shí)現(xiàn)類,Key時(shí)無(wú)序存放的,其中Key是不可以重復(fù)的,它也是通過(guò)Hash碼值來(lái)保證Key不重復(fù)的,Key和value是一一對(duì)應(yīng)的。Map接口的實(shí)現(xiàn)類Map中只可以存放鍵值對(duì)(Key,value),其中Key是不可以重復(fù)的。要存放在TreeSet中自定義類的對(duì)象,這個(gè)類要么是已經(jīng)實(shí)現(xiàn)了Comparable接口,要么是能給出Comparator比較器,TreeSet可以自動(dòng)過(guò)濾掉重復(fù)元素所以不用重載hashCode()方法,TreeSet會(huì)根據(jù)比較規(guī)則判斷元素內(nèi)容是否相同,TreeSet會(huì)在元素存入世就進(jìn)行了排序。SortedSet接口是Set的子接口。為了保證效率,所以在覆蓋hashCode()方法時(shí),也要盡量使不同對(duì)象盡量返回不同的Hash碼值。注意:所以要存入HashSet的集合對(duì)象中的自定義類必須覆蓋hashCode(),equals()兩個(gè)方法,才能保證集合中元素容不重復(fù)。Object類中的hashCode()的方法是所有子類都會(huì)繼承這個(gè)方法,這個(gè)方法會(huì)用Hash算法算出一個(gè)Hash(哈希)碼值返回,HashSet會(huì)用Hash碼值去和數(shù)組長(zhǎng)度取模,模(這個(gè)模就是對(duì)象要存放在數(shù)組中的位置)相同時(shí)才會(huì)判斷數(shù)組中的元素和要加入的對(duì)象的內(nèi)容是否相同,如果不同才會(huì)添加進(jìn)去。(不推薦使用Stack類來(lái)實(shí)現(xiàn)堆棧)。util。ArrayList,LinkedList都是線程不安全的。LinkedList的查詢效率低,但是增刪效率很高。2 LinkedList,它是List接口的實(shí)現(xiàn)類,其底層是用雙向循環(huán)鏈表來(lái)實(shí)現(xiàn)的。0新特性中講到。注意:在API,幫助文檔中以上兩個(gè)方法的參數(shù)類型是T,這代表的模板類型,也就是集合中存放的內(nèi)容的類型,在JDK1。只要實(shí)現(xiàn)了這個(gè)接口,就是可排序的。根據(jù)指定類型的排序規(guī)則實(shí)現(xiàn)了Comparable接口,那么就可以對(duì)存有這個(gè)類型的集合進(jìn)行整體排序。在對(duì)自定義的集合內(nèi)容類型排序時(shí),需要先定義那個(gè)類型的排序規(guī)則。排序可一份為兩部分內(nèi)容,一個(gè)是排序的規(guī)則,也就是按照什么來(lái)進(jìn)行排序,并且排成什么樣的順序。以后,我將以集合這個(gè)名字來(lái)稱呼集合類的對(duì)象。next()方法也是Iterator接口中定義好的方法,這個(gè)方法會(huì)使游標(biāo)指向下一個(gè)元素的位置,游標(biāo)會(huì)跳過(guò)第一個(gè)元素,并返回其中的內(nèi)容。Iterator接口中定義的常用方法方法hasNext(),next()。Collection的實(shí)現(xiàn)類對(duì)象的遍歷方式是用迭代來(lái)實(shí)現(xiàn)的。Map 接口(以下介紹其子接口)SortedMap,這個(gè)接口的實(shí)現(xiàn)類同樣可以實(shí)現(xiàn),不過(guò)是對(duì)鍵值對(duì)中的Key進(jìn)行排序,這個(gè)接口的實(shí)現(xiàn)類也是要指定排序規(guī)則的。3)SortedSet,他是Set的子接口,他的實(shí)現(xiàn)類會(huì)對(duì)集合中的元素進(jìn)行排序。Collection 接口(以下介紹其子接口)1)List 一個(gè)List的實(shí)現(xiàn)類的對(duì)象在管理多個(gè)對(duì)象時(shí)會(huì)按順序組織對(duì)象(即按照將對(duì)象放入的順序存儲(chǔ)),List實(shí)現(xiàn)類的對(duì)象是有順序的,List實(shí)現(xiàn)類對(duì)象中的內(nèi)容是是可重復(fù)的。value是可以相同的,一個(gè)Key和一個(gè)value一一對(duì)應(yīng)。集合框架1,接口Collection 用來(lái)管理多個(gè)對(duì)象,集合中的每個(gè)元素都是對(duì)象。集合類集合(集合類的對(duì)象)是用來(lái)管理其他若干對(duì)象的,它類似于C++標(biāo)準(zhǔn)模板庫(kù)中的容器,不過(guò)在JAVA的集合類的對(duì)象中可以用來(lái)存放多種類型的對(duì)象。Assert只是用于調(diào)試。斷言是一種調(diào)試工具(assert)斷言(assert)其后跟的是布爾類型的表達(dá)式,如果表達(dá)式結(jié)果為真不影響程序運(yùn)行。如果父類型無(wú)throws時(shí),子類型也不允許出現(xiàn)throws。子類拋出的例外或者與父類拋出的例外一致,或者是父類拋出例外的子類型。注意:方法的覆蓋中,如果子類的方法拋出的例外是父類方法拋出的例外的父類型,那么編譯就會(huì)出錯(cuò):子類無(wú)法覆蓋父類。而throws是表示如果下級(jí)方法中如果有例外拋出,那么本方法不做處理,繼續(xù)向上拋出。當(dāng)我們自己定義一個(gè)例外類的時(shí)候必須使其繼承excepiton或者RuntimeException。對(duì)于throws把異常拋到try catch能夠很好地處理例外的位置(即放在具備對(duì)例外進(jìn)行處理的能力的位置)。開發(fā)中的兩個(gè)道理:①如何控制try的范圍:根據(jù)操作的連動(dòng)性和相關(guān)性,如果前面的程序代碼塊拋出的錯(cuò)誤影響了后面程序代碼的運(yùn)行,那么這個(gè)我們就說(shuō)這兩個(gè)程序代碼存在關(guān)聯(lián),應(yīng)該放在同一個(gè)try中。,然后加上相應(yīng)的處理。而如果只有處理情況(try)而沒(méi)有相應(yīng)的catch子句,則編譯還是通不過(guò)。(0);(虛擬機(jī)退出語(yǔ)句)則不會(huì)去執(zhí)行fianlly中的代碼。其中的代碼語(yǔ)句無(wú)論如何(無(wú)論有沒(méi)有異常)都會(huì)被執(zhí)行(因?yàn)閒inally子句的這個(gè)特性,所以一般將釋放資源,關(guān)閉連接的語(yǔ)句寫在里面)。我們可以寫多個(gè)catch語(yǔ)句,但是不能將父類型的exception的位置寫在子類型的excepiton之前,因?yàn)檫@樣父類型肯定先于子類型被匹配,所有子類型就成為廢話,java中是不允許寫廢話的,所以編譯會(huì)出錯(cuò)。一個(gè)try可以跟進(jìn)多個(gè)catch語(yǔ)句,用于處理不同情況。try塊中的代碼如果沒(méi)有出現(xiàn)異常,就會(huì)跳過(guò)catch,正常執(zhí)行。處理完代碼后這個(gè)例外就完全處理完畢,程序會(huì)接著從出現(xiàn)異常的地方向下執(zhí)行(是從出現(xiàn)異常的地方還是在catch后面呢?利用程序進(jìn)行驗(yàn)證)。Try..catch捕獲異常對(duì)于try……catch格式:try {可能出現(xiàn)錯(cuò)誤的代碼塊} catch(exception e){進(jìn)行處理的代碼} ; 對(duì)象變量的聲明用這種方法,如果代碼正確,那么程序不經(jīng)過(guò)catch語(yǔ)句直接向下運(yùn)行;如果代碼不正確,則將返回的異常對(duì)象和e進(jìn)行匹配,如果匹配成功,則處理其后面的異常處理代碼。如果在方法的程序中有一行throw new Exception(),返回錯(cuò)誤,那么其后的程序不執(zhí)行。那么當(dāng)它調(diào)用的方法b返回異常對(duì)象時(shí),方法a并不處理,而將這個(gè)異常對(duì)象向上一級(jí)返回,如果所有的方法均不進(jìn)行處理,返回到主方法,程序中止。例:public void print() throws Exception。在方法的定義中聲明方法可能拋出的異常,用(throws 異常類名,異常類名) ,聲明這個(gè)方法將不處理異常,并把異常交給上一級(jí)方法處理。對(duì)于接收到的已檢查異常有兩種處理方式:throws和try..catch(...){}方法。異常的處理方式非RuntimeException (已檢查異常)異常必須處理。注意:當(dāng)一個(gè)方法中出現(xiàn)異常,沒(méi)有進(jìn)行異常處理,方法就會(huì)把異常對(duì)象作為返回值返回。已檢查異??隙缭匠隽颂摂M機(jī)的范圍。應(yīng)對(duì)未檢查異常就是養(yǎng)成良好的檢查習(xí)慣。在Exception中,所有的非未檢查異常都是已檢查異常,沒(méi)有另外的異常!!未檢查異常是因?yàn)槌绦騿T沒(méi)有進(jìn)行必要的檢查,因?yàn)樗氖韬龊湾e(cuò)誤而引起的異常。Exception有兩個(gè)子類:Runtime exception(未檢查異常)可以在編程時(shí)避免,可處理可不處理非Runtime exception(已檢查異常)必須進(jìn)行處理。對(duì)于Error錯(cuò)誤我們無(wú)法進(jìn)行處理,因?yàn)槲覀兪峭ㄟ^(guò)程序來(lái)應(yīng)對(duì)錯(cuò)誤,可是程序已經(jīng)退出了。一個(gè)Error對(duì)象表示一個(gè)程序錯(cuò)誤,指的是底層的、低級(jí)的、不可恢復(fù)的嚴(yán)重錯(cuò)誤。(關(guān)系到系統(tǒng)的健壯性)java會(huì)將所有的異常封裝成為一個(gè)對(duì)象,其根本父類為Throwable。匿名內(nèi)部類的寫法:interface A{ void ia();}class B{ public A bc(){ return new A{ void ia(){ } }; }}使用匿名內(nèi)部類:B b=new B();A a=();();Exception(例外/異常)對(duì)于程序可能出現(xiàn)的錯(cuò)誤應(yīng)該做出預(yù)案。當(dāng)需要多個(gè)對(duì)象時(shí)使用局部?jī)?nèi)部類,因此局部?jī)?nèi)部類的應(yīng)用相對(duì)比較多。如果一個(gè)對(duì)象編譯時(shí)的類型是接口,那么其運(yùn)行的類型為實(shí)現(xiàn)這個(gè)接口的類。大部分匿名內(nèi)部類是用于接口回調(diào)用的。因其為局部?jī)?nèi)部類,那么局部?jī)?nèi)部類的所有限制都對(duì)其生效。3,類名沒(méi)有意義,也就是不需要使用到。匿名內(nèi)部類的特點(diǎn):1,一個(gè)類用于繼承其他類或是實(shí)現(xiàn)接口,并不需要增加額外的方法,只是對(duì)繼承方法的事先或是覆蓋。通過(guò)內(nèi)部類和接口達(dá)到一個(gè)強(qiáng)制的弱耦合,用局部?jī)?nèi)部類來(lái)實(shí)現(xiàn)接口,并在方法中返回接口類型,使局部?jī)?nèi)部類不可見(jiàn),屏蔽實(shí)現(xiàn)類的可見(jiàn)性。在類外不可直接訪問(wèn)局部?jī)?nèi)部類(保證局部?jī)?nèi)部類對(duì)外是不可見(jiàn)的)。與局部變量類似,在局部?jī)?nèi)部類前不加修飾符public和private,其范圍為定義它的代碼塊。例子:對(duì)于兩個(gè)類,擁有相同的方法:class People{ run();}interface Machine{ run();}有一個(gè)robot類:class Robot extends People implement Machine,run()不可直接實(shí)現(xiàn)。注意:當(dāng)類與接口(或者是接口與接口)發(fā)生方法命名沖突的時(shí)候,此時(shí)必須   使用內(nèi)部類來(lái)實(shí)現(xiàn)。靜態(tài)內(nèi)部類的對(duì)象可以直接生成: in=new ();而不需要通過(guò)生成外部類對(duì)象來(lái)生成,這樣實(shí)際上使靜態(tài)內(nèi)部類成為了一個(gè)頂級(jí)類。靜態(tài)內(nèi)部類只能訪問(wèn)外部類的靜態(tài)成員。)而在外部類的外部,要生成(new)一個(gè)內(nèi)部類對(duì)象,需要首先建立一個(gè)外部類對(duì)象(外部類可用),然后在生成一個(gè)內(nèi)部類對(duì)象?!  ?duì) 于一個(gè)名為outer的外部類和其內(nèi)部定義的名為inner的內(nèi)部類。這樣就在外部類中實(shí)現(xiàn)了比外部類的private還要小的訪問(wèn)權(quán)限。(即使將外部類聲明為private,但是對(duì)于處于其內(nèi)部的內(nèi)部類還是可見(jiàn)的。在外部類的外部訪問(wèn)內(nèi)部類。內(nèi)部類和外部類的實(shí)例變量可以共存。內(nèi)部類中可以訪問(wèn)外部類的私有成員。內(nèi)部類和外部類在編譯時(shí)時(shí)不同的兩個(gè)類,內(nèi)部類對(duì)外部類沒(méi)有任何依賴。內(nèi)部類的分類1,成員內(nèi)部類、 2,局部?jī)?nèi)部類、3,靜態(tài)內(nèi)部類、4,匿名內(nèi)部類(圖形是要用到,必須掌握)。*java文件中沒(méi)有public class ,允許類名和文件不同名。*內(nèi)部類可為靜態(tài),可用protected和private修飾。(注:所有使用內(nèi)部類的地方都可以不用內(nèi)部類,但使用內(nèi)部類可以使程序更加的簡(jiǎn)潔,便于命名規(guī)范和劃分層次結(jié)構(gòu))。(因?yàn)槎鄳B(tài)的存在,可能存在我們調(diào)用JDK類的情況,也可能存在JDK自動(dòng)調(diào)用我們的類的情況。注意:“==”在任何時(shí)候都是比較地址,這種比較永遠(yuǎn)不會(huì)被覆蓋。轉(zhuǎn)換字符的方式:int I=10;String s=I+” ”;String s1=(i);Int I=10;Interger I_class=new integer(I);封裝類、字符串、基本類型間的轉(zhuǎn)換Interger(Double())DoubleString (() )IntegerInteger(() )Stringint(100+””)StringString(() )intInteger(() )int學(xué)會(huì)查看javadoc的幫助文檔。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1