package com.gibe;
public class Ersatz {
public static void main(String[] args) {
// 外部其他类, 使用成员内部类三种方法
Outer outer = new Outer();
outer.mm();
// 外部instance.new
Outer.Inner inner = outer.new Inner();
inner.say();
// 外部类编写对象方法, 返回Inner对象
Outer.Inner instance = outer.getInstance();
instance.say();
//
Outer.Inner vv = new Outer().new Inner();
vv.say();
}
}
class Outer {
private int n = 11;
public String name = "Outer";
private void hi(Inner inner) {
System.out.println("Outer hi()");
System.out.println("inner: "+inner);
}
private static final void m() {
System.out.println("Outer static m()");
}
public final class Inner {
private double salary = 99.8;
private int n = 22;
public Inner() {
System.out.println(this);
}
public void say() {
System.out.println("n=" + n + " Outer.this.n=" + Outer.this.n);
hi(this);
m();
}
}
public Inner getInstance() {
return new Inner();
}
public void mm() {
Inner inner = new Inner();
inner.say();
}
}
原文:https://www.cnblogs.com/dissipate/p/14985917.html