內部類和包裝類

包裝類:返回值類型不能滿足返回類型的要求
        例子:一個學生的成績是一個double類,無法表示學生缺考的情況。
組成:爲8種基本類型各自提供對象形式
      int         Integer
      char        Character
      byte        Byte  
      short       Short
      long        Long
      float       Float
      double      Double
      boolean     Boolean

      JDK5.0 自動封箱     由Java編譯器自動完成 基本類型<--->包裝類 轉換
      5.0之前 Integer i1 = 3;編譯是不能夠通過的,5.0之後可以直接將一個基本類型直接賦值給一個包裝類(裝箱)。可以直接直接進行i1+3一個對象類型和數值類型相加(拆箱)
常用:
    int Integer.parseInt(String)將字符轉換成數值
    1.5之後包裝類和基本類可以混用

內部類:放在一個類內部的類
成員內部類
    可以訪問外部類的私有成員
    用"外部類類名.this"訪問外部類對象    
    創建成員內部類對象,需要先創建外部類對象,再通過"外部類對象.new 內部類類名()"

靜態內部類
    靜態內部類只能訪問外部類的靜態成員
    創建靜態內部類對象,直接通過"new 外部類類名.內部類類名()"

局部內部類
    定義在外部類的方法內部,作用範圍:從定義開始--所在的代碼塊結束
    不僅可以訪問外部類的私有成員,還可以訪問外部類的局部常量 (final)

匿名內部類
    特殊的局部內部類
    1)繼承某個類或者實現某個接口
    2)只會創建一個對象
    不僅可以訪問外部類的私有成員,還可以訪問外部類的局部常量 (final)

    無法定義構造方法!
    不需要添加新的公開方法

JVM空間劃分:
堆空間(heap)   :  對象
棧空間(stack)  :  局部變量
代碼空間(code) :  常量池 靜態數據
發佈了33 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章