在java中,一個類A的內部聲明一個非靜態內部類。在這個類A的某個方法中要實現一個類的實例,實例代碼中用到了this.new
這裡的this
怎麼理解。
public class MyClass{
public void method1(){
...
MyInterface iclass = this.new MyClassInner();
...
}
private class MyClassInner implements MyInterface{
...
}
}
內部類的定義需要依賴一個宿主對象才能實例化,這個語法是創建內部類對象的,即以當前對象為宿主對象創建一個內部類對象的實例。
內部類實例化語法:外部類實例.new 內部類(),這裡直接以當前外部類對象this創建內部類實例的,即this.new 內部類();