成员内部类:
1.外部类和内部类的成员变量同名时,内部类访问的是内部类的成员变量,想访问外部类的可以通过
外部类.this.成员变量名
2.如果内部类是private修饰的,则必须在外部类提供一个创建内部类对象的方法,才能访问到内部类
3.成员内部类一旦出现了静态成员,那不内部类必须用static 修饰
局部内部类:
1.如果一个局部内部类 访问了局部变量,那么该变量必须用final修饰(局部内部类比局部变量生命周期长)
匿名内部类:(必须存在继承或者实现关系才能使用)
1. new Animal(){} --------------------实际指的是Animal的子类
2. 不能有特有方法