内部类
定义:内部类又称为嵌套类,是一个定义在另一个类范围中的类。
一、成员内部类
定义:1.成员内部类可以无条件访问外部类的所有成员属性和成员方法。
2.当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员。如果要访问外部类同名成员,需要以下的形式进行访问。
外部类.this.成员变量
外部类.this.成员方法
3.3.虽然成员内部类可以无条件地访问外部类的成员,而外部类想要访问成员内部类的成员却不是可以这么随心所欲了。在外部类中如果要访问成员内部类的成员,必须创建一个成员内部类的对象,在通过指向这个对象的引用来访问。
二、局部内部类
定义:局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法内或者该作用域内。一个局部内部类在块中声明。 其范围仅限于声明它的块。由于其范围限于其封闭块,因此其声明不能使用任何访问修饰符,例如public,private或protected。
三、匿名内部类
定义:匿名内部类应该是平时我们编写代码时用得最多的,在编写事件监听的代码时使用匿名内部类但不方便,而且使代码更加容易维护。
一般语法:
new 类名(){
}
四、静态内部类
定义:静态内部类也是定义在另一个类里面的类,只不过在类的前面多了一个关键字static。它不能使用外部类的非静态成员变量或方法。