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

正文內(nèi)容

達(dá)內(nèi)java培訓(xùn)學(xué)習(xí)筆記(參考版)

2025-07-31 06:10本頁面
  

【正文】 }class B{ public A bc(){ return new A(){ //匿名類實(shí)現(xiàn)了A接口 vo。匿名內(nèi)部類中不能定義構(gòu)造方法。因匿名內(nèi)部類無構(gòu)造方法,所以其使用范圍非常的有限。匿名內(nèi)部類在編譯的時(shí)候由系統(tǒng)自動起名Out$。匿名內(nèi)部類是唯一一種無構(gòu)造方法類。注:一個(gè)匿名內(nèi)部類一定是在new的后面,用其隱含實(shí)現(xiàn)一個(gè)接口或?qū)崿F(xiàn)一個(gè)類,沒有類名,根據(jù)多態(tài),我們使用其父類名。(2)只是為了獲得一個(gè)對象實(shí)例,不許要知道其實(shí)際類型。匿名內(nèi)部類匿名內(nèi)部類是一種特殊的局部內(nèi)部類,它是通過匿名類實(shí)現(xiàn)接口,并只創(chuàng)建一次。在方法中才能調(diào)用其局部內(nèi)部類。與局部變量類似,在局部內(nèi)部類前不加修飾符public和private,其范圍為定義它的代碼塊。靜態(tài)內(nèi)部類不可用private來進(jìn)行定義。靜態(tài)內(nèi)部類的對象可以直接生成: in=new ();而不需要通過生成外部類對象來生成。靜態(tài)內(nèi)部類只能訪問外部類的靜態(tài)成員。 in=()。)而在外部類的外部,要生成(new)一個(gè)內(nèi)部類對象,需要首先建立一個(gè)外部類對象(外部類可用),然后在生成一個(gè)內(nèi)部類對象。***建立內(nèi)部類對象時(shí)應(yīng)注意:在外部類的內(nèi)部可以直接使用inner s=new inner()。$。注意:內(nèi)部類是一個(gè)編譯時(shí)的概念,一旦編譯成功,就會成為完全不同的兩類。)(2)用內(nèi)部類定義在外部類中不可訪問的屬性。在外部類的外部訪問內(nèi)部類,.成員內(nèi)部類的特點(diǎn):(1)內(nèi)部類作為外部類的成員,可以訪問外部類的私有成員或?qū)傩?。?nèi)部類和外部類的實(shí)例變量可以共存。內(nèi)部類中可以訪問外部類的私有成員。內(nèi)部類和外部類在編譯時(shí)是不同的兩個(gè)類,內(nèi)部類對外部類沒有任何依賴。內(nèi)部類的分類:成員內(nèi)部類、 局部內(nèi)部類、靜態(tài)內(nèi)部類、匿名內(nèi)部類(圖形監(jiān)聽時(shí)要用到,要掌握)。三、內(nèi)部類內(nèi)部類也就是定義在類內(nèi)部的類。 //出現(xiàn)錯誤時(shí)的提示信息assert只是用于調(diào)試。assert a%2==0。自定義異常(1)繼承Exception類(2)構(gòu)造方法: 不帶參數(shù)的構(gòu)造方法 帶參數(shù)的構(gòu)造方法:參數(shù)指出錯誤性質(zhì),super(message);把參數(shù)傳遞給父類構(gòu)造異常 作業(yè)(1)為Account類及其子類添加toString方法和equals方法(2)(Exception)為BAM添加幾個(gè)異常類BalanceNotEnoughException :用于取錢的時(shí)候余額不足的情況(包括賬戶余額超過透支額的情況)RegisterException:用于開戶異常的情況,例如密碼兩次輸入不一致等情況LoginException:用戶登錄異常的情況,例如id錯誤,密碼錯誤LoanException:貸款額不能為負(fù)數(shù),如果用戶試圖將貸款額置為負(fù)數(shù),則會拋出這個(gè)異常以上四個(gè)異常類有一個(gè)共同的父類 BusinessException并妥善的處理這些異常Java第九天 2007年5月9日一、復(fù)習(xí)Object 所有的類直接或間接的父類finalize:垃圾收集的時(shí)候調(diào)用toString:返回對象的字符串形式equals:判斷兩個(gè)對象內(nèi)容是否相同包裝類8種基本類型各自提供了對象形式異常處理提高容錯性異常的分類:ThrowableError :錯誤,不可避免,不可處理Exception:Runtime:未檢查:可處理可不處理,首先應(yīng)該努力避免異常(本可避免的)非Runtime:已檢查:必須要處理異常對象的產(chǎn)生:throw 拋出異常,沿著方法調(diào)用鏈反向傳遞異常處理:throws 消極,聲明拋出trycatch 捕獲異常trycatchfinallytryfinally方法覆蓋 :子類覆蓋方法不能比父類被覆蓋方法拋出更多的,范圍更寬的異常自定義異常二、斷言,是一個(gè)調(diào)試工具其后跟的是布爾類型的表達(dá)式,如果表達(dá)式結(jié)果為真不影響程序運(yùn)行。對于throws把異常拋到try catch能夠很好地處理異常的位置(即放在具備對異常進(jìn)行處理的能力的位置 )。開發(fā)中的兩個(gè)道理:①如何控制try的范圍:根據(jù)操作的連動性和相關(guān)性,如果前面的程序代碼塊拋出的錯誤影響了后面程序 代碼的運(yùn)行,那么這個(gè)我們就說這兩個(gè)程序代碼存在關(guān)聯(lián),應(yīng)該放在同一個(gè)try中。 //打印堆棧追蹤信息以上兩條語句都是可以打印出錯的過程信息。在使用catch的時(shí)候可以調(diào)用:Catch(IOException e){(())}。 要點(diǎn):沒有異常產(chǎn)生時(shí):正常執(zhí)行try{}catch(){} — 進(jìn)入finally語句塊 — 方法中剩余代碼 有異常產(chǎn)生時(shí)(捕找到) — 進(jìn)入catch處理 — 進(jìn)入finally語句塊 — 方法中剩余代碼 有異常產(chǎn)生時(shí)(沒捕找到)— 進(jìn)入finally語句塊 — 離開方法一般寫一些釋放資源的代碼在try catch (0)。相當(dāng)于return,函數(shù)返回上一級傳遞:沿著方法調(diào)用鏈反向傳遞!當(dāng)一個(gè)方法中出現(xiàn)異常,而沒有作處理,則以異常對象為返回值返回調(diào)用處(逐級傳遞)異常返回給虛擬機(jī)時(shí),虛擬機(jī)終止退出,程序結(jié)束異常的處理(1)聲明拋出是方法聲明的第五部分 throws+異常名字(多個(gè)異常用“,”分隔)出現(xiàn)異常,不處理,拋給上一級處理并且子類拋出異常的范圍不能比父類拋出異常的范圍更寬。Throwable|| |Error Exception|| |RuntimeException 非Runtime異常未檢查異常 已檢查異常由于程序員疏忽造成的 不可避免的可避免的 必須處理可處理,可不處理異常的產(chǎn)生和傳遞throw new一個(gè)異常對象。對于Error錯誤我們無法進(jìn)行處理,因?yàn)槲覀兪峭ㄟ^程序來應(yīng)對錯誤,可是程序已經(jīng)退出了。一個(gè)Error對象表示一個(gè)程序錯誤,指的是底層的、低級的、不可恢復(fù)的嚴(yán)重錯誤。Interger I_class=new integer(I)。String s1=(i)。轉(zhuǎn)換字符的方式:int I=10。實(shí)際上打印的是person對象toString方法的返回值.練習(xí):Employe類 屬性:name,age,salary把equals().toString()方法覆蓋三、封裝類JAVA為每一個(gè)簡單數(shù)據(jù)類型提供了一個(gè)封裝類,使每個(gè)簡單數(shù)據(jù)類型可以被Object來裝載。在子類中推薦覆蓋toString()方法。//2,看看對象是不是空if(!(o instanceof 本類類名)) return false;//看看是不是本類對象......//根據(jù)本類設(shè)計(jì)。子類中也推薦覆蓋Object類中繼承的equals()方法,自己制定比較規(guī)則自反性:(s) true對稱性:(s2) true(s1) true傳遞性:(s2) true(s3) true則 (s3) true覆蓋equals()方法的步驟boolean equals(Object o){if(this==o) return true。實(shí)際上還是比較對象地址是否相同。java不允許循環(huán)繼承,也就是互相繼承是不可以的。區(qū)分主類型和次要類型。這種過程叫做接口的回調(diào)(先有標(biāo)準(zhǔn)使用者,后有標(biāo)準(zhǔn)實(shí)現(xiàn)者,把標(biāo)準(zhǔn)的實(shí)現(xiàn)者對象傳給使用者,再由使用者通過接口調(diào)用標(biāo)準(zhǔn)實(shí)現(xiàn)者的方法)。接口的定義者定義好了標(biāo)準(zhǔn),接口的使用者就可以寫使用代碼,接口的實(shí)現(xiàn)者寫好實(shí)現(xiàn)之后把實(shí)現(xiàn)對象傳入接口的使用者中。針對接口編程可以屏蔽不同實(shí)現(xiàn)間的差異,看到的只是實(shí)現(xiàn)好的功能。主類型使用繼承,副類型,使用接口實(shí)現(xiàn)。class Impl extends ClassE implements IA,IB{……}接口類型也可以做為編譯時(shí)類型使用,但其實(shí)際的運(yùn)行時(shí)類型必須是完全實(shí)現(xiàn)接口的類的對象實(shí)例,這樣就使多態(tài)變得很靈活了接口類型的引用指向接口某一個(gè)實(shí)現(xiàn)類的對象接口的意義:1,接口可以實(shí)現(xiàn)多繼承。一個(gè)類可以在繼承一個(gè)類的同時(shí),還可以實(shí)現(xiàn)一個(gè)或多個(gè)接口。在接口多繼承時(shí),在extends后寫接口名如果要繼承多個(gè)接口,接口名以“,”分隔,接口的繼承關(guān)系只是把其父接口中的抽象方法繼承到子接口中。一個(gè)類可以繼承也只能繼承另外一個(gè)類,但是可以實(shí)現(xiàn)多個(gè)接口,其語法是在implements后面寫接口名,多個(gè)接口以“,”分隔。} //與上面的抽象類邏輯上等價(jià),編譯之后,所以一個(gè)源文件中可以寫多個(gè)接口,但只能有一個(gè)公開接口,并且要與源文件的名字一致接口可以繼承,但是只能由接口繼承。void m1()。}interface IA{int A = 10。public abstract void m1()。接口中沒有構(gòu)造方法abstract class ClassA{public static final int A = 10。二、接口接口是一種程序結(jié)構(gòu),是特殊的抽象類。當(dāng)JVM第一次使用一個(gè)類的時(shí)候,用輸入流把文件中的信息讀入JVM并保存起來,這樣,JVM就“認(rèn)識”了這個(gè)類類加載時(shí)機(jī):第一次用這個(gè)類的時(shí)候1. 第一次創(chuàng)建類的對象,會加載2. 訪問類的靜態(tài)成員,會加載3. 聲明類的引用,不會加載4. 加載子類,必然先加載父類5. 如果調(diào)用的是子類從父類中繼承下來的靜態(tài)方法,只會加載父類6. 如果訪問的是類的靜態(tài)常量,如果在編譯的時(shí)候能夠確定這個(gè)常量的值,則運(yùn)行時(shí)不會加載,否則,編譯時(shí)無法確定常量值,那么運(yùn)行時(shí)就會加載設(shè)計(jì)模式:單例模式用途:一個(gè)類只能有一個(gè)對象實(shí)現(xiàn):會有一個(gè)靜態(tài)的屬性,就是該類的一個(gè)對象。所以上的修飾符不能放在一起。final是不可以覆蓋,private是不能夠繼承到子類,所以也就不能覆蓋。方法一時(shí)間想不到怎么被實(shí)現(xiàn),或有意要子類去實(shí)現(xiàn)而定義某種標(biāo)準(zhǔn),這個(gè)方法可以被定義為抽象。抽象類中可以有構(gòu)造方法,是子類在構(gòu)造子類對象時(shí)需要調(diào)用的父類(抽象類)的構(gòu)造方法。如果一個(gè)類中有抽象方法,那么這個(gè)類必須是抽象類。靜態(tài)常量如果其值可以確定,就不會加載該類,如果不能確定則會加載該常量所在的類。但是不能同時(shí)使用這兩種方法在一個(gè)對象完成創(chuàng)建的時(shí)候,對象中的所有final屬性必須都完成賦值類變量可以是final的,也有兩次賦值機(jī)會 :定義變量的時(shí)候就賦值 ; 靜態(tài)初始代碼塊中修飾方法不能被子類覆蓋從面向?qū)ο蟮慕嵌壤斫?,可以保持操作的穩(wěn)定性修飾類不能被繼承在樹狀單繼承關(guān)系中,final類是樹葉節(jié)點(diǎn)在一個(gè)final類中的所有方法,默認(rèn)都是final的注意:final,不能用來修飾構(gòu)造方法。 //連接字符串,不創(chuàng)建中間對象大量字符串連接的時(shí)候用StringBuffer取代String四、final修飾變量,方法,類修飾變量被fianl修飾的變量就是常量(常量名大寫),一旦賦值不能改變修飾局部變量:修飾基本數(shù)據(jù)類型 變量的值不能改變修飾引用 引用只能指向固定的對象修飾實(shí)例變量:默認(rèn)值不生效,可以再賦值有兩次賦值機(jī)會:初始化變量的時(shí)候 final int a = 20。a2=()。如果沒有則會在串池里創(chuàng)建一個(gè)字符串對象,并返回其地址付購對象變量,當(dāng)另一個(gè)以字面值創(chuàng)建對象時(shí)則會重復(fù)上述過程。 //在堆空間中創(chuàng)建123池化的思想,把需要共享的數(shù)據(jù)放在池中(節(jié)省空間,共享數(shù)據(jù))只有String類可以用“”中的字面值創(chuàng)建對象。}private A(){} //私有的構(gòu)造方法,防止濫用}不變模式 :便于實(shí)例共享,減少對存儲空間的消耗String類采用了不變模式字符串中的內(nèi)容是不變的String a1 = 123。 //加載了父類之后,虛擬機(jī)已經(jīng)知道m(xù)()方法的調(diào)用了,就不會再加載子類,延遲加載(6)沒有創(chuàng)建對象,訪問類中靜態(tài)常量(能計(jì)算出結(jié)果的常量,在編譯的時(shí)候會用計(jì)算出來的結(jié)果替換表達(dá)式),不加載沒有創(chuàng)建對象,訪問類中靜態(tài)常量(不確定的值),加載(7)CoreJava day16三、設(shè)計(jì)模式(編程套路)GOF(Group Of Four)四人幫模式 23種單例模式 Singleton:class A{private static A a = new A()。使用引用調(diào)靜態(tài)方法,相當(dāng)于使用引用的類型去調(diào)用靜態(tài)方法。注意:父類中是靜態(tài)方法,子類中不能覆蓋為非靜態(tài)方法。java中的main方法必須寫成static的,因?yàn)?,在類加載時(shí)無法創(chuàng)建對象,靜態(tài)方法可以不通過對象調(diào)用。靜態(tài)方法要慎重使用。也就是類變量只會被創(chuàng)建一次。 true 判斷兩個(gè)引用指向的對象的內(nèi)容是否相同練習(xí):(繼承,多態(tài))銀行的客戶分為兩類,儲蓄賬戶(SavingAccount)和信用賬戶(CreditAccount),區(qū)別在于儲蓄賬戶不允許透支而信用賬戶可以透支,并允許用戶設(shè)置自己的透支額度.注意:CreditAccount需要多一個(gè)屬性 ceiling 透支額度為這兩種用戶編寫相關(guān)的類同時(shí)要求編寫B(tài)ank類,屬性:1. 當(dāng)前所有的賬
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1