内部类:在一个类中定义类,内部类所在类即为外部类
内部类分为四种形式:成员内部类、局部内部类、静态内部类、匿名内部类
1、成员内部类
定义:在一个类中除了可以定义成员变量、成员方法,还可以定义类,这样的类被称作成员内部类。
说明:在成员内部类中,可以访问外部类的所有成员,包括成员变量和成员方法;在外部类中,同样可以访问成员内部类的变量和方法。
创建内部类对象的具体语法格式如下:
外部类名.内部类名 变量名 = new 外部类名().new 内部类名();
创建外部类对象的方式:
1、在测试类中去创建外部类的对象,而后调用外部类的成员变量或方法
2、可以在内部类中创建外部类对象,调用外部类的方法、变量:
2、静态内部类
定义:所谓静态内部类,就是使用static关键字修饰的成员内部类。
说明:静态内部类在成员内部类前增加了static关键字,在功能上,静态内部类中只能访问外部类的静态成员,
同时通过外部类访问静态内部类成员时,可以跳过外部类从而直接通过内部类访问静态内部类成员。
创建静态内部类对象的格式:
外部类名.静态内部类名 变量名=new 外部类名.静态内部类名();
注意区分成员内部类中内部类创建对象的格式
3、局部内部类
定义:局部内部类,也叫做方法内部类,就是定义在某个局部范围中的类,它和局部变量一样,都是在方法中定义的,其有效范围只限于方法内部。
说明:在局部内部类中,局部内部类可以访问外部类的所有成员变量和方法,而局部内部类中的变量和方法却只能在创建该局部内部类的方法中进行访问。