欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Java筆記(三 內部類(lèi)、異常、編程規范)

Java筆記(三 內部類(lèi)、異常、編程規范)

內部類(lèi)(Outer.java)
    在一個(gè)類(lèi)中定義另外一個(gè)類(lèi),這個(gè)類(lèi)就叫做內部類(lèi)或內置類(lèi)(inner class)
    內部類(lèi)和外部類(lèi)分屬不同的空間,都有自己的數據變量和數據方法,內部類(lèi)仍然是一個(gè)獨立的類(lèi)
    內部類(lèi)所產(chǎn)生的字節碼的文件名:外部類(lèi)$內部類(lèi).class
    內部類(lèi)可以讓我們將邏輯上相關(guān)的一組類(lèi)組織起來(lái),并由外部類(lèi)(outer class)來(lái)控制內部類(lèi)的可見(jiàn)性
    當我們建立一個(gè)inner class時(shí)(不管其嵌套的層次有多深),其對象就擁有了與外部類(lèi)對象之間的一種關(guān)系,這是通過(guò)一個(gè)特殊的this reference形成的,使得內部類(lèi)對象可以隨意的訪(fǎng)問(wèn)外部類(lèi)中所有的成員
    在一個(gè)方法內定義一個(gè)類(lèi)的時(shí)候只能在該方法內部使用這個(gè)類(lèi)
    還可將內部類(lèi)的定義放置在一個(gè)語(yǔ)句塊中
    在方法中定義的內部類(lèi),如果要訪(fǎng)問(wèn)方法中定義的本地變量或方法的參數,則變量必須被聲明為final
    內部類(lèi)可以聲明為private或protected,還可以聲明為abstract或final
    內部類(lèi)可以聲明為static的,那么在產(chǎn)生內部類(lèi)的對象的時(shí)候就無(wú)需同時(shí)再存在一外部類(lèi)的對象,但此時(shí)就不能再使用外部類(lèi)的非static的成員變量和非static的成員方法
    非static的內部類(lèi)中的成員不能聲明為static的,只有在頂層類(lèi)或static的內部類(lèi)中才可聲明static成員
 

為什么要使用內部類(lèi):
    在內部類(lèi)中,可以隨意的訪(fǎng)問(wèn)外部類(lèi)的成員,這可以讓我們更好地組織管理我們的代碼,增強代碼的可讀性(若外部類(lèi)要訪(fǎng)問(wèn)內部類(lèi)的成員,需要先產(chǎn)生內部的的一個(gè)對象,然后利用這個(gè)對象去引用內部類(lèi)的成員)
    內部類(lèi)可以用于創(chuàng )建適配器類(lèi),適配器類(lèi)是用于實(shí)現接口的類(lèi)。使用內部類(lèi)來(lái)實(shí)現接口,可以更好地定位與接口關(guān)聯(lián)的方法在代碼中的位置
    內部類(lèi)的更多用法
java.lang包下有個(gè)Exception類(lèi),它有很多子類(lèi)。不過(guò)雖然Exception類(lèi)在java.lang包下,但它的子類(lèi)不一定都在這同一個(gè)包中。Exception類(lèi)類(lèi)是從Throwable類(lèi)派生出來(lái)的
 
 
異常處理:
    打開(kāi)一個(gè)不存在的文件、網(wǎng)絡(luò )連接中斷、數組下標越界、正在加載的類(lèi)文件丟失等都會(huì )引發(fā)異常
    Java中的異常類(lèi)定義了程序中遇到的輕微的錯誤條件
    Java中的錯誤類(lèi)定義了程序中不能恢復的嚴重錯誤條件。如內存溢出、類(lèi)文件格式錯誤等。這一類(lèi)錯誤由Java運行系統處理,不需要我們去處理
    Java程序在執行過(guò)程中如出現異常,會(huì )自動(dòng)生成一個(gè)異常類(lèi)對象,該異常類(lèi)對象將被提交給Java運行時(shí)的系統,這個(gè)過(guò)程稱(chēng)為拋出(throw)異常
    當Java運行時(shí)系統接收到異常對象時(shí),會(huì )尋找能處理這一異常的代碼把當前異常對象交給其處理,這一過(guò)程稱(chēng)為捕獲(catch)異常
    如果Java運行時(shí)系統找不到可以捕獲異常的方法,則運行時(shí)系統將終止,相應的Java程序也將退出
    try/catch/finally語(yǔ)句:把可能引發(fā)異常的代碼放到try里,在catch語(yǔ)句中對異常條件進(jìn)行處理。
                           若沒(méi)有進(jìn)行異常處理,在程序退出的時(shí)候會(huì )自動(dòng)調用printStackTrace()。
                           可以寫(xiě)多個(gè)catch。
                           不管程序有無(wú)異常,finally語(yǔ)句里的代碼都會(huì )執行。但當程序終止運行的時(shí)候,finally語(yǔ)句里的代碼就不會(huì )執行(如前有System.exit(-1))
    拋出異常聲明函數throws

class Excep
{
    public int division(int a,int b)
    {
         return a/b;
    }
}
class ExcepTest
{
     public static void main(String[] args)
     {
         Excep excep=new Excep();
         try
         {
             excep.division(5,0);
             System.out.println("exception");
         }
         catch(Exception e)
         {
            //System.out.println("can‘t");
            //System.out.println(e.getMessage());
            //System.out.println(e.toString());
            e.printStackTrace();//異常發(fā)生的軌跡
         }
         System.out.println("finish");
     }
}
----------------------------------------------------------------------
class Excep
{
    public int division(int a,int b) throws Exception
    {
         return a/b;
    }
}
class ExcepTest
{
     public static void main(String[] args)
     {
         Excep excep=new Excep();
         excep.division(5,0);
         System.out.println("exception");
         System.out.println("finish");
     }
}

    對于RuntimeException通常都不需要我們捕獲,這類(lèi)異常由Java運行系統自動(dòng)拋出并自動(dòng)處理。所以throws RuntimeException時(shí),Java不會(huì )強制要求捕獲,其他的會(huì )強制要求捕獲
    如果父類(lèi)中的方法拋出多個(gè)異常,則子類(lèi)中的覆蓋方法要么拋出相同的異常,要么拋出異常的子類(lèi),但不能拋出新的異常(構造方法除外)
    我們可以在方法聲名時(shí),聲名一個(gè)不會(huì )拋出的異常,Java編譯器就會(huì )強迫方法的使用者對異常進(jìn)行處理。這種方式通常應用于abstract base class和interface中
    可以自己添加異常類(lèi),但必須從Exception中派生:
class DivisorIsMinusException extends Exception
{
           DivisorIsMinusException(String str)
           {
                    super(str);
           }
}
 
 
Java編程規范:
    package的名字由全部小寫(xiě)的字母組成,如:cn.mubole
    class和interface的名字由大寫(xiě)字母開(kāi)頭而其他字母都小寫(xiě)的單詞組成,例如:Person,Exception
    class變量的名字用一個(gè)小寫(xiě)字母的單詞開(kāi)頭,后面的單詞都用大寫(xiě)字母開(kāi)頭,例如:index,currentImage
    class方法的名字用一個(gè)小寫(xiě)字母的單詞開(kāi)頭,后面的單詞都用大寫(xiě)字母開(kāi)頭,例如:run(),getBalance()
    static final變量的名字所有字母都大寫(xiě),并且能表示完整含義。例如:PI,PASSWORD
    參數的名字和變量的命名規范一致
    數組應該總是用這樣的方式來(lái)命名:byte[] buffer
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
黑馬程序員
java編程、java學(xué)習:深刻理解Java編程的7個(gè)例子
最全的Java筆試題庫之選擇題篇-總共234道【1~60】
有關(guān)JAVA異常和錯誤(ERROR)的處理
Java Puzzlers(4)異常之謎
關(guān)于try catch finally的問(wèn)題
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久