1. .this
.this关键字可以在内部创建外部类的引用
public class DotThis { void f() {System.out.println("DotThis.f()");} public class Inner{ public DotThis outer() { return DotThis.this; } } public Inner inner() { return new Inner(); } public static void main(String[] args) { DotThis dt = new DotThis(); DotThis.Inner dti = dt.inner(); dti.outer().f(); } }
在内部类的outer方法中,通过类名DotThis.this可以返回外部类的引用;
2. .new
.new可以通过类的实例来直接创建内部类,因为内部类不能单独创建,必须依赖一个实例才可以创建.
public class DotThis { void f() {System.out.println("DotThis.f()");} public class Inner{ public DotThis outer() { return DotThis.this; } } public Inner inner() { return new Inner(); } public static void main(String[] args) { DotThis dt = new DotThis(); DotThis.Inner dti = dt.inner(); dti.outer().f(); } }
可以看到,通过dt这个外部类,直接.new就可以创建Inner内部类.
标签:outer,内部,DotThis,关键字,Inner,new,dt,public From: https://www.cnblogs.com/lishuaiqi/p/17092102.html