package equality;
public class DoThis {
void f(){System.out.println("DoThis.f()");}
public class Inner{
public DoThis outer(){
return DoThis.this;//如果需要生成对外部类的引用就可以这样
//外部类的名字加.this
}
}
public Inner inner(){
return new Inner();
}
public static void main(String[] args){
DoThis dt=new DoThis();
DoThis.Inner dti=dt.inner();
dti.outer().f();
}
}
```]

public class ProgramMain {
public int age;
public void say(){
String name="pwd";
class innerClass{
public void hello(){
System.out.println(name+"你好");//可以使用外部成员方法中的变量
}
}
innerClass tClass=new innerClass();//局部内部类和内部类不一样,不能直接New出来,
//因为他的作用域就是在这个方法中所以可以在方法里面new出来
tClass.hello();
System.out.println("这个方法中包含局部内部类");
}
public static void main(String[] args){
ProgramMain a=new ProgramMain();
a.say();
}
}