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

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

 
阅读更多

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

 

 

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

 

 

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

 

 

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

 

 

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

 

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

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

相关推荐

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

    ### 浅谈Java内部类的四个应用场景 #### 一、引言 在Java语言中,内部类(Inner Class)作为一种特殊的存在,为开发者提供了更为灵活的面向对象编程方式。通过本文,我们将深入探讨Java内部类的四个典型应用场景,...

    【ASP.NET编程知识】浅谈ASP.NET Core静态文件处理源码探究.docx

    它使得应用能够提供wwwroot目录下的静态资源,或者通过设置`StaticFileOptions`来自定义文件提供者和请求路径。在源码中,`StaticFileExtensions`类提供了注册`UseStaticFiles`的方法,该方法实际上会调用`...

    cos应用浅谈

    《COS应用浅谈》 在信息技术领域,云存储服务已经成为不可或缺的一部分,其中腾讯云的COS(Cloud Object Storage)就是一个典型代表。这篇博文将深入探讨COS的应用场景、工作原理以及如何有效地利用这一工具。 ...

    浅谈Android中关于静态变量(static)的使用问题

    在Android开发中,静态变量(`static`)的使用是一个重要的议题,因为它涉及到应用程序的内存管理、生命周期以及可能引发的问题。下面将详细讨论以下几个方面: 1. **静态变量的生命周期**: - 静态变量在类被加载...

    浅谈分块思想在一类数据处理问题中的应用

    在计算机科学与技术领域,尤其是在算法设计与分析中,分块思想作为一种重要的优化手段被广泛应用于解决一系列复杂的数据处理问题。本文旨在介绍分块思想的基本概念、原理及其在特定类型数据处理问题中的应用。 ####...

    Java反射技术浅谈 (1).pdf

    Java反射技术浅谈 Java反射技术是一种可以访问、检测和修改程序本身状态或行为的能力。通过反射,Java程序可以加载一个运行时才知道名称的类,得到其完整内部信息,并创建其对象,或对其属性设值,或调用其方法。...

    浅谈CMOS集成电路的应用

    CMOS集成电路作为一种半导体集成电路技术,其名称来自于其使用的...随着电子科技的不断进步,CMOS集成电路在各个领域的应用还将持续增长,与此同时,我们应不断研究与开发新的CMOS应用技术,以满足未来科技发展的需要。

    浅谈模具载荷分类.pptx

    模具载荷分类作为分析过程中的关键步骤,其正确应用对确保分析结果的准确性与可靠性起到了决定性的作用。本文将深入探讨模具载荷的分类,以及它们在模拟分析中的应用,从而帮助工程师更好地进行模具设计和优化。 ...

    浅谈Javascript的静态属性和原型属性

    静态属性和方法在类的外部定义,通常用于存储与类相关的但与特定实例无关的信息。静态方法`Run`在不创建实例的情况下也能直接调用,而静态属性`age`则需要通过`Atest.age`来访问。 其次,原型属性(prototype ...

    Java同步机制浅谈

    ### Java同步机制浅谈 #### synchronized关键字的作用及应用 在Java多线程环境中,`synchronized`关键字扮演着至关重要的角色。它可以帮助开发者确保多线程环境下的数据一致性,防止因并发访问导致的数据错误。本...

    浅谈Java中单例设计模式之构造方法私有化.pdf

    构造方法是Java中一种特殊的成员方法,它与类同名且没有返回类型。构造方法的主要作用是在创建对象时初始化对象的成员变量。在一般情况下,构造方法是公开的,这意味着其他类可以通过new关键字来创建该类的实例。...

    浅谈beego默认处理静态文件性能低下的问题

    因此,对于使用Beego作为Web框架的项目,最佳实践是在生产环境中将静态资源与Beego应用分离,利用Nginx等高性能的反向代理服务器进行静态文件服务。这不仅可以提高响应速度,还能减轻Beego服务器的压力,使其专注于...

    浅谈Laravel中的一个后期静态绑定

    通过以上内容,我们可以了解到后期静态绑定在Laravel的使用场景和解决方案,以及在实际应用中需要注意的继承和实例化的问题。后期静态绑定允许开发者以更加灵活的方式处理类的继承和实例化,有助于解决静态方法调用...

    浅谈单片机与FPGA的异同.pdf

    本文将从内部逻辑结构和开发方式这两个方面简述单片机与FPGA的异同。 首先,单片机(Microcontroller Unit,简称MCU)是一种集成电路芯片,它将微型计算机系统的中央处理器(CPU)、随机存取存储器(RAM)、只读...

    浅谈城镇土地调查中的GPS测量技术应用技巧.pdf

    这项工作旨在根据地籍调查技术规程,充分利用现有地籍调查成果,详细查明城镇内部建设用地的使用权状况,包括每宗土地的边界、范围、界线、数量和用途。通过综合分析,可以全面掌握工业用地、基础设施用地、金融服务...

    浅谈计算机分子模拟技术.docx

    ### 浅谈计算机分子模拟技术 #### 摘要与背景 随着计算机技术的飞速发展,计算机分子模拟技术已成为解决复杂化学与生物学问题的重要工具。这种技术通过模拟分子的行为和相互作用,揭示物质在分子层面的性质和变化...

Global site tag (gtag.js) - Google Analytics