嵌套类与外围类
http://bbs.csdn.net/topics/390308902?page=1#post-393151833
总结来自:http://xingfinal.blog.163.com/blog/static/9792456820104875055927/
这里讲了访问的控制。
其实嵌套类和外围类基本是两个互不相干的类。但是有些访问还是要注意的。
1. 嵌套类的只对外围类可见。
就是说用嵌套类的话,就要用外围类去限定。
2. 外围类访问不到嵌套类的私有成员。
3. 嵌套类可以通过外围类的对象、指针或引用访问外围类的所有成员。
为什么要通过类的对象、指针或引用呢?因为一般的成员需要实例化才会真正的实体本身的。
4. 嵌套类可以直接访问外围类的静态成员,类型名,枚举值。
为什么会可以直接访问呢,因为静态成员,类型名,枚举值不属于任何对象的实例化。
5. 因为这两个类不怎么相干,所以他们的sizeof得到的值也互不相干。
说到底,应该是一种实现机制吧,或者实现规定吧。
嵌套类的作用
1。inner class能够方便的访问它的outer class的所有成员,包括private成员
2。inner class可以将自己隐藏起来,不为包中的其他类所见
3。inner class可以方便的定义运行时CallBack
4。使用inner class编写事件驱动的程序时非常方便