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

正文內容

java與sql的數據庫技術的學生成績管理系統(tǒng)(編輯修改稿)

2025-05-13 05:39 本頁面
 

【文章內容簡介】 接實現。注意:當類與接口(或者是接口與接口)發(fā)生方法命名沖突的時候,此時必須使用內部類來實現。用接口不能完全地實現多繼承,用接口配合內部類才能實現真正的多繼承。④ 匿名內部類(必須掌握):匿名內部類是一種特殊的局部內部類,它是通過匿名類實現接口。IA被定義為接口。IA I=new IA(){}。注:一個匿名內部類一定是在new的后面,用其隱含實現一個接口或實現一個類,沒有類名,根據多態(tài),我們使用其父類名。因其為局部內部類,那么局部內部類的所有限制都對其生效。匿名內部類是唯一一種無構造方法類。匿名內部類在編譯的時候由系統(tǒng)自動起名Out$。如果一個對象編譯時的類型是接口,那么其運行的類型為實現這個接口的類。因匿名內部類無構造方法,所以其使用范圍非常的有限。(下午:)Exception(例外/異常)(教程上的MODEL7)對于程序可能出現的錯誤應該做出預案。例外是程序中所有出乎意料的結果。(關系到系統(tǒng)的健壯性)JAVA會將所有的錯誤封裝成為一個對象,其根本父類為Throwable。Throwable有兩個子類:Error和Exception。一個Error對象表示一個程序錯誤,指的是底層的、低級的、不可恢復的嚴重錯誤。此時程序一定會退出,因為已經失去了運行所必須的物理環(huán)境。對于Error錯誤我們無法進行處理,因為我們是通過程序來應對錯誤,可是程序已經退出了。我們可以處理的Throwable對象中只有Exception對象(例外/異常)。Exception有兩個子類:Runtime exception(未檢查異常)非Runtime exception(已檢查異常)(注意:無論是未檢查異常還是已檢查異常在編譯的時候都不會被發(fā)現,在編譯的過程中檢查的是程序的語法錯誤,而異常是一個運行時程序出錯的概念。)在Exception中,所有的非未檢查異常都是已檢查異常,沒有另外的異常!!未檢查異常是因為程序員沒有進行必要的檢查,因為他的疏忽和錯誤而引起的異常。一定是屬于虛擬機內部的異常(比如空指針)。應對未檢查異常就是養(yǎng)成良好的檢查習慣。已檢查異常是不可避免的,對于已檢查異常必須實現定義好應對的方法。已檢查異常肯定跨越出了虛擬機的范圍。(比如“未找到文件”)如何處理已檢查異常(對于所有的已檢查異常都要進行處理):首先了解異常形成的機制:當一個方法中有一條語句出現了異常,它就會throw(拋出)一個例外對象,然后后面的語句不會執(zhí)行返回上一級方法,其上一級方法接受到了例外對象之后,有可能對這個異常進行處理,也可能將這個異常轉到它的上一級。對于接收到的已檢查異常有兩種處理方式:throws和try方法。注意:出錯的方法有可能是JDK,也可能是程序員寫的程序,無論誰寫的,拋出一定用throw。例:public void print() throws Exception.對于方法a,如果它定義了throws Exception。那么當它調用的方法b返回異常對象時,方法a并不處理,而將這個異常對象向上一級返回,如果所有的方法均不進行處理,返回到主方法,程序中止。(要避免所有的方法都返回的使用方法,因為這樣出現一個很小的異常就會令程序中止)。如果在方法的程序中有一行throw new Exception(),返回錯誤,那么其后的程序不執(zhí)行。因為錯誤返回后,后面的程序肯定沒有機會執(zhí)行,那么JAVA認為以后的程序沒有存在的必要。對于try……catch格式:try {可能出現錯誤的代碼塊} catch(exception e){進行處理的代碼} ; 對象變量的聲明用這種方法,如果代碼正確,那么程序不經過catch語句直接向下運行;如果代碼不正確,則將返回的異常對象和e進行匹配,如果匹配成功,則處理其后面的異常處理代碼。(如果用exception來聲明e的話,因為exception為所有exception對象的父類,所有肯定匹配成功)。處理完代碼后這個例外就完全處理完畢,程序會接著從出現異常的地方向下執(zhí)行(是從出現異常的地方還是在catch后面呢?利用程序進行驗證)。最后程序正常退出。Try中如果發(fā)現錯誤,即跳出try去匹配catch,那么try后面的語句就不會被執(zhí)行。一個try可以跟進多個catch語句,用于處理不同情況。當一個try只能匹配一個catch。我們可以寫多個catch語句,但是不能將父類型的exception的位置寫在子類型的excepiton之前,因為這樣父類型肯定先于子類型被匹配,所有子類型就成為廢話。JAVA編譯出錯。在try,catch后還可以再跟一子句finally。其中的代碼語句無論如何都會被執(zhí)行(因為finally子句的這個特性,所以一般將釋放資源,關閉連接的語句寫在里面)。如果在程序中書寫了檢查(拋出)exception但是沒有對這個可能出現的檢查結果進行處理,那么程序就會報錯。而如果只有處理情況(try)而沒有相應的catch子句,則編譯還是通不過。如何知道在編寫的程序中會出現例外呢1. 調用方法,查看API中查看方法中是否有已檢查錯誤。2. 在編譯的過程中看提示信息,然后加上相應的處理。Exception有一個message屬性。在使用catch的時候可以調用:Catch(IOException e){(())}。Catch(IOException e){()}。上面這條語句回告訴我們出錯類型所歷經的過程,在調試的中非常有用。開發(fā)中的兩個道理:①如何控制try的范圍:根據操作的連動性和相關性,如果前面的程序代碼塊拋出的錯誤影響了后面程序代碼的運行,那么這個我們就說這兩個程序代碼存在關聯,應該放在同一個try中。② 對已經查出來的例外,有throw(積極)和try catch(消極)兩種處理方法。對于try catch放在能夠很好地處理例外的位置(即放在具備對例外進行處理的能力的位置)。如果沒有處理能力就繼續(xù)上拋。當我們自己定義一個例外類的時候必須使其繼承excepiton或者RuntimeException。Throw是一個語句,用來做拋出例外的功能。而throws是表示如果下級方法中如果有例外拋出,那么本方法不做處理,繼續(xù)向上拋出。Throws后跟的是例外類型。斷言是一種調試工具(assert)其后跟的是布爾類型的表達式,如果表達式結果為真不影響程序運行。如果為假系統(tǒng)出現低級錯誤,在屏幕上出現assert信息。Assert只是用于調試。在產品編譯完成后上線assert代碼就被刪除了。方法的覆蓋中,如果子類的方法拋出的例外是父類方法拋出的例外的父類型,那么編譯就會出錯:子類無法覆蓋父類。結論:子類方法不可比父類方法拋出更多的例外。子類拋出的例外或者與父類拋出的例外一致,或者是父類拋出例外的子類型。或者子類型不拋出例外。如果父類型無throws時,子類型也不允許出現throws。此時只能使用try catch。練習:寫一個方法:int add(int a,int b){ return a+b;}當a+b=100。拋出100為異常處理。集合(從本部分開始涉及API)集合是指一個對象容納了多個對象,這個集合對象主要用來管理維護一系列相似的對象。數組就是一種對象。(練習:如何編寫一個數組程序,并進行遍歷。).*定義了一系列的接口和類,告訴我們用什么類NEW出一個對象,可以進行超越數組的操作。(注:)集合框架接口的分類:(分collection接口 和 map接口) Collection接口 Map接口List接口 Set接口 SortedMap接口 SortedSet接口JAVA中所有與集合有關的實現類都是這六個接口的實現類。Collection接口:集合中每一個元素為一個對象,這個接口將這些對象組織在一起,形成一維結構。List接口代表按照元素一定的相關順序來組織(在這個序列中順序是主要的),List接口中數據可重復。Set接口是數學中集合的概念:其元素無序,且不可重復。(正好與List對應)SortedSet會按照數字將元素排列,為“可排序集合”。Map接口中每一個元素不是一個對象,而是一個鍵對象和值對象組成的鍵值對(KeyValue)。KeyValue是用一個不可重復的key集合對應可重復的value集合。(典型的例子是字典:通過頁碼的key值找字的value值)。例子:key1—value1。key2—value2。key3—value3.SortedMap:如果一個Map可以根據key值排序,則稱其為SortedMap。(如字典)!!注意數組和集合的區(qū)別:數組中只能存簡單數據類型。Collection接口和Map接口只能存對象。以下介紹接口:List接口:(介紹其下的兩個實現類:ArrayList和LinkedList)ArrayList和數組非常類似,其底層①也用數組組織數據,ArrayList是動態(tài)可變數組。① 底層:指存儲格式。說明ArrayList對象都是存在于數組中。注:數組和集合都是從下標0開始。ArrayList有一個add(Object o)方法用于插入數組。ArrayList的使用:(完成這個程序)先import .*;用ArrayList在一個數組中添加數據,并遍歷。ArrayList中數組的順序與添加順序一致。只有List可用get和size。而Set則不可用(因其無序)。Collection接口都是通過Iterator()(即迭代器)來對Set和List遍歷。通過語句:Iterator it=()。 得到一個迭代器,將集合中所有元素順序排列。然后可以通過interator方法進行遍歷,迭代器有一個游標(指針)指向首位置。Interator有hasNext(),用于判斷元素右邊是否還有數據,返回True說明有。然后就可以調用next動作。Next()會將游標移到下一個元素,并把它所跨過的元素返回。(這樣就可以對元素進行遍歷)練習:寫一個程序,輸入對象信息,比較基本信息。集合中每一個元素都有對象,如有字符串要經過強制類型轉換。Collections是工具類,所有方法均為有用方法,且方法為static。有Sort方法用于給List排序。()分為兩部分,一部分為排序規(guī)則;一部分為排序算法。規(guī)則用來判斷對象;算法是考慮如何排序。對于自定義對象,Sort不知道規(guī)則,所以無法比較。這種情況下一定要定義排序規(guī)則。方式有兩種:① :Comparable(可比較的)可以讓自定義對象實現一個接口,這個接口只有一個方法parableTo(Object o)其規(guī)則是當前對象與o對象進行比較,其返回一個int值,系統(tǒng)根據此值來進行排序。如 當前對象o對象,則返回值0;(可將返回值定義為1)如 當前對象=o對象,則返回值=0;如 當前對象o對象,則返回值〈0。(可將返回值定義為1)看TestArraylist的java代碼。我們通過返回值1和1位置的調換來實現升序和降序排列的轉換。② (比較器)它擁有pare(),用來比較兩個方法。要生成比較器,則用Sort中Sort(List,List(Compate))第二種方法更靈活,且在運行的時候不用編譯。注意:要想實現parTo()就必須在主方法中寫上implement parable.練習:生成一個EMPLOYEE類,然后將一系列對象放入到ArrayList。用Iterator遍歷,排序之后,再進行遍歷。集合的最大缺點是無法進行類型判定(),這樣就可能出現因為類型不同而出現類型錯誤。解決的方法是添加類型的判斷。 LinkedList接口(在代碼的使用過程中和ArrayList沒有什么區(qū)別)ArrayList底層是object數組,所以ArrayList具有數組的查詢速度快的優(yōu)點以及增刪速度慢的缺點。而在LinkedList的底層是一種雙向循環(huán)鏈表。在此鏈表上每一個數據節(jié)點都由三部分組成:前指針(指向前面的節(jié)點的位置),數據,后指針(指向后面的節(jié)點的位置)。最后一個節(jié)點的后指針指向第一個節(jié)點的前指針,形成一個循環(huán)。雙向循環(huán)鏈表的查詢效率低但是增刪效率高。所以LinkedList具有查詢效率低但增刪效率高的特點。ArrayList和LinkedList在用法上沒有區(qū)別,但是在功能上還是有區(qū)別的。LinkedList經常用在增刪操作較多而查詢操作很少的情況下:隊列和堆棧。隊列:先進先出的數據結構。堆棧:后進先出的數據結構。注意:使用堆棧的時候一定不能提供方法讓不是最后一個元素的元素獲得出棧的機會。LinkedList提供以下方法:(ArrayList無此類方法)addFirst()。 removeFirst()。 addLast()。 removeLast()。在堆棧中,push為入棧操作,pop為出棧操作。Push用addFirst();pop用removeFirst(),實現后進先出。用isEmpty()其父類的方法,來判斷棧是否為空。在隊列中,put為入隊列操作,get為出隊列操作。Put用addFirst(),get用removeLast()實現隊列。List接口的實現類(Vector)(與ArrayList相似,區(qū)別是Vector是重量級的組件,使用使消耗的資源比較多。)結論:在考慮并發(fā)的情況下用Vector(保證線程的安全
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1