1:内部类
内部类可以节省编译后的字节码, .class文件的大小, 而在实现监听的时候,采用内部类很容易实现, 但使用内部类会导致结构不清晰。
1:成员变量内部类
public class Out{
private int i=0;
private void g(){
}
private class Inner{
void f(){
i++;
g();
} } }
1:内部类可以随便使用外部类的成员变量和方法,
2:内部类对象绑定在外部类对象上, 获取内部类对象必须先获取外部类对象
Out out =new Out();
Out.Inner inner= out.new Inner();
2:外部类向上转型为接口