类的定义包括类的声明和类体两部分。在类体中出现的叫作类的成员。类的成员包括变量、方法、构造器、内部类。本节讲解内部类的问题。
一个类在另一个类的内部定义,这个定义在其他类体中的类称为内部类,包含内部类的类叫外部类。根据内部类是否有static修饰,可以将内部类分成静态内部类和非静态内部类。在这一节的学习中,我们要学会回答三个问题:第一,非静态内部类是否可以声明实例变量和静态变量?第二,非静态内部类中如何引用外部类的实例成员和静态成员?第三,如何创建非静态内部类对象?
非静态内部类的使用示例代码如下:
第5~15行代码定义了非静态内部类,其中第7行代码编译出错,说明非静态内部类中不能声明静态变量,同样也不能声明静态方法。
第9行代码说明在非静态内部类中是通过“外部类名.this.”引用外部类的实例变量,第11行代码说明在非静态内部类中是通过“外部类.”来引用外部类的静态变量,此时“外部类.”也可以省略,如第10行代码。第13行代码说明非静态内部类中是通过“this.”来引用内部类中的实例变量,此时this.也可以省略,如第12行代码所示。
测试类代码如下:
第4行代码演示了在其他类中如何创建非静态内部类的对象。(www.xing528.com)
关于静态内部类我们也要学会回答三个问题:第一,静态内部类是否可以声明实例变量和静态变量?第二,静态内部类中如何引用外部类的实例成员和静态成员?第三,如何创建静态内部类对象?通过一个例子来了解下静态内部类的知识。
静态内部类的示例代码如下:
第5~17行代码定义了静态内部类,第6~7行代码说明在静态内部类中可以定义实例变量和静态变量。第9行代码说明静态内部类中只能通过“外部类对象”来调用该外部类的实例变量,第11行代码说明静态内部类中通过“外部类名.”来调用外部类的静态变量,而此时“外部类名.”不能省略。第12~13行代码是静态内部类调用本类中的实例变量,第14~15行代码是静态内部类调用本类中的静态变量。
测试类代码如下:
第4行代码演示了在其他类中如何创建静态内部类的对象。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。