06.21 2018Java面試必備-內部類(Inner Class)實際案例

面試題1、靜態嵌套類(Static Nested Class)和內部類(Inner Class)的不同?

  • 靜態嵌套類:是被聲明為靜態(static)的內部類,它可以不依賴於外部類實例而被實例化。
  • 內部類:需要在外部類實例化後才能實例化。

面試題2、下面的代碼哪些地方會產生編譯錯誤?

class Outer{

class Inner{}

public static void foo(){

new Inner();

}

public void bar(){

new Inner();

}

public static void main(String[] args) {

new Inner();

}

}

上述代碼中,foo()方法和main()方法都是靜態方法,靜態方法中沒有this,也就是說沒有所謂的外部類對象,因此無法創建內部類對象,如果要在靜態方法中創建內部類對象,可以按如下方法做:

new Outer().new Inner();

2018Java面試必備-內部類(Inner Class)實際案例

2018Java面試必備-內部類(Inner Class)實際案例


分享到:


相關文章: