一个类(外部类)里面的类可以说成嵌套类,也可以说成内部类。
内部类(嵌套类),分为4中:
静态内部类、非静态内部类(成员内部类、局部内部类、匿名内部类)。
1.静态内部类:定义在类中,任何方法外,用static定义。
静态内部类只能访问外部类的静态成员(比如:外部类的静态变量、外部类的静态方法)。
2.成员内部类:作为外部类的一个成员存在,与外部类的成员变量、成员方法、静态变量、静态方法并列,没有static修饰。(区别:上面静态内部类有static修饰)。
成员内部类可以访问外部类的静态成员,也可以访问外部内的非静态成员。
3.局部内部类:定义在一个类的成员方法中的类。或者说,定义在一个成员方法的中的类就是局部内部类。
局部内部类只能访问方法中声明的final类型的变量。
4.匿名内部类:匿名内部类也就是没有名字的内部类。
正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写
但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口