内部类-----是在其他类中的类
1、内部类的定义
- 将类定义为 class xxxx{... ...}置于某个类的内部即可‘
- 内部类编译时生成 xxxx$xxxx的class文件
- 内部类不能够与外部类同名
2、内部类的使用
- 在封装其类本省的类中使用该类,与普通类的使用方式相同
- 在其他地方使用该类:a 类名前要冠以外部类的类名; b 在用new创建内部类对象时,外部类名.内部类名 内部类对象名=外部类对象名.new 内部类名(参数)
3、在内部类中使用外部类的成员
- 内部类可以直接使用外部类的所有字段和方法;private也可以
- 如果内部类与外部类有同名的字段方法,则:外部类名.this.字段或方法
代码示例:
public class TestInnerClass { public static void main(String[] args){ ExternalClass extern = new ExternalClass(); ExternalClass.InnerClass inner = extern.new InnerClass(); inner.outPut("方法的字段"); } } class ExternalClass{ private String s = "外部类字段"; class InnerClass{ private String s = "内部类字段"; public void outPut(String s){ System.out.println("s的值为 " + s); System.out.println("this.s的值为 " + this.s); System.out.println("ExternalClass.s的值为 " + ExternalClass.this.s); } } }
输出结果:
s的值为 方法的字段 this.s的值为 内部类字段 ExternalClass.s的值为 外部类字段
时间: 2025-01-19 23:58:13