`
xutao5641745
  • 浏览: 223692 次
  • 性别: Icon_minigender_1
  • 来自: 汨罗
社区版块
存档分类
最新评论

浅谈内部类与静态内部类的应用

 
阅读更多

起因:我在看LinkedList源码的时候,发现他用的辅助类是静态内部类,我当时很好奇的,把那个静态内部类改成内部类,发现一样可以实现功能。于是我纠结了。。。。。到网上找了好多的文章,,,都没能找到理想的回答,后来我在Effective Java这本书中,,,翻到了这么一段话。

 

 

如果你声明的成员类不要求访问外围实例,那么请记住把 static 修饰符放到成员类的声明中,使它成为一个静态成员类,而不是一个非静态成员类 如果你省略了 static 修饰符,则每个实例都将包含一个额外的指向外围对象的引用 维护这份引用要消耗时间和空间,但又没有相应的好处如果在没有外围实例的情况下,你也要分配实例的话,则不能使用非静态成员类,因为非静态成员类的实例必须要有一个外围实例。

 

 

真是一语惊醒梦中人啊。。。。。。。

 

 

当然他们之间还有一些区别。不过大致应用应该就在这段话中了。。。

 

 

下面我会提供整篇文章的详细讲解。(是书上的,讲的很精辟)

 

希望能帮助不理解这些东西的人!

分享到:
评论
3 楼 该用户名已经存在 2012-02-07  
2 楼 lvminghua 2011-08-11  
很好,很强大。。
1 楼 lucifer833 2011-08-10  
   

相关推荐

    浅谈Java内部类的四个应用场景

    浅谈Java内部类的四个应用场景,txt格式。 介绍了Java内部类,适合新手。

    深入浅出MFC 2e

    基类与派生类:谈继承(Inheritance) this指针 虚拟函数与多态(Polymorphism) 类与对象大解剖 Object slicing与虚拟函数 静态成员(变量与函数) C++程序的生与死:兼谈构造函数与解构函数 四种不同的对象生存...

    侯捷- -深入浅出MFC

    基类与派生类:谈继承(Inheritance) this指针 虚拟函数与多态(Polymorphism) 类与对象大解剖 Object slicing与虚拟函数 静态成员(变量与函数) C++程序的生与死:兼谈构造函数与解构函数 四种不同的对象生存...

    深入浅出MFC【侯捷】

    第2章 C++的重要性质 类及其成员——谈封装(encapsulation) 基类与派生类:谈继承(Inheritance) this指针 虚拟函数与多态(Polymorphism) 类与对象大解剖 Object slicing与虚拟函数 静态成员(变量与函数) ...

    运营探讨--ipv6安全浅析

    “缺乏安全性是互联网天生的弱点,这与是否采用IPv6关系不大。事实上,IPv6并没有引入新的安全问题,反而由于IPSec的引入以及发送设备采用永久性IP地址而解决了网络层溯源难题,给网络安全提供了根本的解决途径,...

    传智播客扫地僧视频讲义源码

    15_复数类_所有函数都写在类的内部 16_复数类_所有函数都写在类的外部_上 17_复数类_所有函数都写在类的外部_下 18_复数类_所有函数都写在类的外部(h和cpp分开) 19_类模板中的static关键字 20_案例_数组模板类_需求...

    asp.net知识库

    C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP.NET - 第一部分 XHTML介绍 在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用...

    Python 核心编程 第二版

     13.8 静态方法和类方法   13.9 组合   13.10 子类和派生   13.11 继承   13.12 类、实例和其他对象的内建函数   13.13 用特殊方法定制类   13.14 私有化   13.15 *授权   13.16 新式类的...

    Python核心编程第二版(ok)

     6.20 拷贝Python对象.c浅拷贝和深拷贝   6.21 序列类型小结   6.22 练习   第7章 映像和集合类型   7.1 映射类型:字典   7.1.1 如何创建字典和给字典赋值   7.1.2 如何访问字典中的值   ...

    Python核心编程第二版

     6.20 *拷贝Python对象、浅拷贝和深拷贝   6.21 序列类型小结   6.22 练习   第7章 映像和集合类型   7.1 映射类型:字典   7.1.1 如何创建字典和给字典赋值   7.1.2 如何访问字典中的值   ...

    Python核心编程(第二版).pdf (压缩包分2部分,第二部分)

     6.20 *拷贝python对象、浅拷贝和深拷贝   6.21 序列类型小结   6.22 练习   第7章 映像和集合类型   7.1 映射类型:字典   7.1.1 如何创建字典和给字典赋值   7.1.2 如何访问字典中的值   ...

    Python核心编程(第二版).pdf (压缩包分2部分,第一部分)

     6.20 *拷贝python对象、浅拷贝和深拷贝   6.21 序列类型小结   6.22 练习   第7章 映像和集合类型   7.1 映射类型:字典   7.1.1 如何创建字典和给字典赋值   7.1.2 如何访问字典中的值   ...

Global site tag (gtag.js) - Google Analytics