java內部類的做用

06內部類

內部類

內部類,即類內部的類。類中類。形式以下:java

public class Outter{  // 外部類
    class Inner{    // 內部類
        
    }
}

1. 理解內部類的做用

  1. 內部類能夠很好的實現隱藏

    ​ 通常的非內部類,是不容許有 private 與protected權限的,但內部類能夠學習

  2. 內部類擁有外圍類的全部元素的訪問權限
  3. 但是實現多重繼承
  4. 匿名內部類優化接口

1)隱藏細節

​ 平時咱們對類的訪問權限,都是經過類前面的訪問修飾符來限制的,通常的非內部類,是不容許有 private 與protected權限的,但內部類能夠,因此咱們能經過內部類來隱藏咱們的信息。這看起來沒什麼做用,可是當內部類實現某個接口的時候,在進行向上轉型,對外部來講,就徹底隱藏了接口的實現了。優化

2)能夠無條件地訪問外圍類的全部元素

​ 內部類雖然和外部類寫在同一個文件中, 可是編譯完成後, 仍是生成各自的class文件,內部類經過this訪問外部類的成員。this

3)能夠實現多重繼承

​ 這個特色很是重要,它是內部類存在的最大理由之一。正是因爲他的存在使得Java的繼承機制更加完善。你們都知道Java只能繼承一個類,它的多重繼承在咱們沒有學習內部類以前是用接口來實現的。但使用接口有時候有不少不方便的地方。好比咱們實現一個接口就必須實現它裏面的全部方法。而有了內部類就不同了。它可使咱們的類繼承多個具體類或抽象類。code

4)經過匿名內部類來優化簡單的接口實現

​ 有了匿名內部類,能夠不須要定義一個新的類,而直接經過匿名內部類建立對象。對那些只是用一次的類是很是方便的事情。對象

相關文章
相關標籤/搜索