内部类的用途

来源:互联网 发布:怎么运营淘宝直播间 编辑:程序博客网 时间:2024/06/12 01:08
最近在项目的代码里看到使用内部类,不是很理解用途,这是从网上搜来的,感觉说的很清楚。
内部类在自己的程序中很少用,主要用途是:1、避免同名问题。比如说链表节点的类型我们起名Node,二叉树节点的类型我们也可能起名Node,如果把它们放在外面就会出现同名冲突,但是分别在链表类和二叉树类内部就不会有问题。2、隐藏细节,封装的需要。有些类型只需要在一个类内部使用,没有必要对外公开,没有必要让用户知道在内部如何存放和管理数据的。3、提供一个统一接口。到学模板的时候就会看到了,内部类的这个用法在标准模板库中使用多,主要应用就是迭代器类。每个容器都提供一个名叫iterator的内部类,对所有容器都可以用这个内部类的对象来访问容器中的数据,使容器对外有一致的访问方法。内部类并不自动是外部类的友元。