1. 程式人生 > >內部類、訪問許可權課堂筆記

內部類、訪問許可權課堂筆記

內部類的定義:一個類的定義放在另一個類的內部 內部類作為外部類的一個成員,依附於外部類而存在的

    *內部類是一個獨立的類,生成獨立的class檔案,檔名格式為:外部類類名·$內部類名

 包名在世界範圍內不重複  (域名在世界範圍內不重複)

把實現相同功能的java檔案放到一個目錄裡

Com.oracle.xxx.xxx

域名  專案名稱  導包的時候寫到具體的類

TRL+SHIFT+F  程式碼格式化

構造程式碼快 一般用於給類裡的變數進行初始化的 該程式碼快早於構造方法執行

靜態程式碼塊》構造程式碼塊》構造方法

 四種類型的內部類:成員內部類,方法內部類,匿名內部類,靜態內部類

          1.成員內部類 :在一個包含類中定義的不使用靜態修飾符的型別,與成員變數、方法同一個層次,可以訪問包含類所有的成員,在包含類中建立成員內部類例項的語法 this.new innerclass();  在包含類外建立成員內部類例項的語法。(new Outerclass()).new Innerclass();  建立外圍物件之前不可能建立內部類的物件。

2.方法內部類:定義在 方法體中的類,方法內部類只能定義該內部類的方法內例項化,不可以在此方法外對其例項化。最少使用的內部類形式,如同本地變數的定義,不允許有訪問修飾符。

         3.靜態內部類:不能與包含類同名         建立靜態內部類例項的語法:
                                                Outer.Inner inner = new Outer.Inner();

          4 匿名內部類 只用到類的一個例項 類在定義後馬上用到

                 *匿名內部類不能有構造方法。
                 *匿名內部類不能定義任何靜態成員、靜態方法
                 *匿名內部類不能是public,protected,private,static
                 *只能建立匿名內部類的一個例項
                 *一個匿名內部類一定是在new的後面,用其隱含實現一個介面或實現一個類

異常        lang不用導包

Erro是處理執行環境方面的錯誤,這類異常主要和硬體有關係,通常程式不對這類異常進行處理

Exception用來表示程式活動導致的錯誤,異常處理機制是針對Exception類的

   *執行時異常RuntimeException

      1.不作處理

      2.使用try-catch-finally語句捕獲異常

Try{

             //被保護區間 第一行

             //用關鍵字try控制

             //將可能導致異常的程式碼放在這裡

             //我們可以放置1到多行程式碼

             }

            catch(MyFirstError) {

             // 處理MyFirstError的程式碼.

             //MyFirstError的異常處理控制代碼

      }

        catch(MySecondError) {

         // MySecondError異常處理控制代碼

        }finally{

     //無論try塊中有無異常,最後必須執行 的程式碼

       }

      3.通過throws子句宣告異常(該異常我自己不去處理,如果誰呼叫這個方法,必須把這個異常處理掉) main方法再往上拋給jvm虛擬機器

   *非執行時異常 必須進行處理

  一個未捕獲的異常可能導致程式停止

常用異常

java.lang.ArithmeticException  算術異常

java.lang.NullPointerException   空指標異常

java.lang.ArrayIndexoutOfBoundsException  陣列越界異常

java.lang.SecurityException   安全異常

Java.lang.NegativeArraySizeException   負值陣列大小異常