java基礎冷知識

<一> 全局變量和局部變量的區別

      1.位置不一樣

          全局變量存在類下面,局部變量存在方法裏面。

            全局變量的生命週期和對象有關,局部變量的生命週期和方法有關。

      2.修飾符

            全局變量是可以加修飾符的。局部變量不可以。

      3.默認值問題

             全局變量只聲明是可以直接使用的,有默認值,局部變量不可以。

<二> 爲什麼在靜態的方法裏面不能使用非靜態的成員

     1. 因爲靜態的方法是隨着類的加載而進入內存的,非靜態的成員是創建對象之後進入存的,

     2. 當靜態的方法在內存的時候,非靜態的成員還不存在,所以沒辦法使用。

<三> 靜態變量和非靜態變量的區別

     1.靜態的變量時隨着類的加載而進入內存的,非靜態的方法是隨着對象的創建進入內存的。

     2.靜態的方法裏面只能使用靜態的變量。

     3.靜態的變量多了一種調用方式,可以通過類名.屬性名字直接調用。

<四> 封裝:

     將實現的細節因隱藏起來,提供共有的方法訪問。

     屬性的封裝的步驟:

          1.將屬性都定義成私有的,

          2.提供setter和getter方法

          3.在方法中添加判斷語句   

<五> 訪問修飾符的權限

      1.public 公共訪問權限  所有的類都能訪問

      2.protected 子類訪問權限   在同一個包 子類都可以訪問

      3.缺省的  包訪問權限  在同一包可以訪問

      4.private 類訪問權限  只有本類能夠訪問

<六> 包:

      當前類在哪一個包的下面: package 包名字

      當前類調用其它包下的類:import 包的名字       

<七> 繼承:

     當子類繼承父類,子類能夠使用父類可見所有的屬性和方法

        1.父類私有的屬性和方法是不能訪問的。

        2.不同包下,父類缺省的屬性和方法是不能訪問的。    

<八> 子類創建對象的順序:

      1.先調用子類的構造器

      2.然後調用父類的構造器

      3.父類信息初始化(有的話)

      4.父類的對象創建完成

      5.子類信息初始化(有的話)

      6.最後子類的對象創建完成。

<九> this

      當前調用的方法所在的類的對象的引用

      一般情況下都可以省略。

      特別:

         1.當局部變量和全局變量名字一樣的時候,使用全局變量的時候this不能省略。

         2.this不能使用在靜態的方法裏面。

     this只能使用的在非靜態的方法中(沒有static修飾的方法中)

        如    int a = 10;

              public void show(){

                     int a = 100;

                     System.out.println("a=" +a);

                     System.out.println("全局變量a="+this.a);

              } //主函數省略

           //   a=100  全局變量a=10

<十> super

      當前調用的方法所在的類的父類對象的引用

           一般情況下都是省略的。

           特別:

           1.當子類的屬性和方法與父類的屬性和方法的名字是一樣的時候,使用父類的屬性方法super不能省略。

           2.super不能使用在靜態的方法裏面。

           3.當重新指定要調用的構造器的時候super(參數列表)不能省。

 

<十一> 成員內部類

        位置類的成員位置。

        特點:

        1.可用private protected修飾的。

        2.可以直接訪問類的屬性和方法。

        3.其它外部類訪問內部類

           內部類  別名 = new 外部類.new 內部類();

 <十二> 局部內部類:

        位置:定義在方法裏面。

        特點:

        1.不能用訪問修飾符或者static來修飾。

        2.生命週期和方法有關,只能在本方法裏面使用。

        3.當局部內部類要使用所在的方法的局部變量或者參數的時候,這些變量要定義成final類型的。

<十三>GC出現的原因:

       1.查詢的數據庫沒有關閉遊標;

       2.構造Adapter時,沒有使用緩存ConvertView

       3.沒有及時釋放對象的引用

       4.Bitmap對象不再使用時沒有及時調用recycle()釋放內存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章