成员变量和局部变量有哪些区别

成员变量和局部变量的区别:1、定义不同;2、修饰对象不同;3、存储对象不同;4、生命周期不同;5、作用范围不同;6、初始化的值不同。成员变量是独立于方法外的变量,局部变量是类的方法中的变量。

成员变量和局部变量有哪些区别-Worktile社区

1、定义不同

成员变量是独立于方法外的变量,局部变量是类的方法中的变量。

成员变量:包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来引用。

局部变量:包括形参,方法局部变量,代码块局部变量,存在于方法的参数列表和方法定义中以及代码块中。

2、修饰对象不同

成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及 static修饰;两者都可以定义成final型。

3、存储对象不同

成员变量存储在堆,局部变量存储在栈。局部变量的作用域仅限于定义它的方法,在该方法的外部无法访问它。成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它。如果访问权限允许,还可以在类的外部使用成员变量。

4、生命周期不同

局部变量的生存周期与方法的执行期相同。当方法执行到定义局部变量的语句时,局部变量被创建;执行到它所在的作用域的最后一条语句时,局部变量被销毁。类的成员变量,如果是实例成员变量,它和对象的生存期相同。而静态成员变量的生存期是整个程序运行期。

5、作用范围不同

成员变量在累加载或实例被创建时,系统自动分配内存空间,并在分配空间后自动为成员变量指定初始化值,初始化值为默认值,基本类型的默认值为0,复合类型的默认值为null。(被final修饰且没有static的必须显式赋值),局部变量在定义后必须经过显式初始化后才能使用,系统不会为局部变量执行初始化。

6、初始化的值不同

局部变量可以和成员变量同名,且在使用时,局部变量具有更高的优先级,直接使用同名访问,访问的是局部变量,如需要访问成员变量可以用this.变量名访问 本例中i为成员变量,有默认的初始值,如果定义在方法内部,就没有初始值

延伸阅读:

什么是局部变量?

局部变量,也称内部变量,是指在一个函数内部或复合语句内部定义的变量。局部变量的作用域是定义该变量的函数或定义该变量的复合语句。局部变量的生存期是从函数被调用的时刻算起到函数返回调用处的时刻结束。

局部变量,也称内部变量,是指在一个函数内部或复合语句内部定义的变量。

局部变量的生存期:从函数被调用的时刻算起到函数返回调用处的时刻结束 [2]  。

局部变量的作用域是定义该变量的函数或定义该变量的复合语句。也就是说,局部变量只在定义它的函数或复合语句范围内有效,只能在定义它的函数或复合语句内才能使用它们。

全局变量也称外部变量,它是在函数外部定义的变量。它不属于哪一个函数,而是属于一个源程序文件:其作用域是整个源程序。

几乎程序中的所有函数都能使用全局变量,客观上全局变量就起到了在函数间传递数据的作用,甚至可以减少形参和实参的数量。当然在享用它的好处时,也要慎重,避免全局变量过多带来的降低函数通用性及存储空间的浪费。

文章标题:成员变量和局部变量有哪些区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37830

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月12日 下午4:37
下一篇 2023年2月12日 下午4:40

相关推荐

  • ios开发bug管理工具有哪些

    ios开发bug管理工具有:1、Bugzilla;2、BugFree;3、EasyBUG;4、Mantis。Bugzilla是由Mozilla公司提供的免费的开源的一款功能强大的Bug管理系统,比如强大的检索功能,强大的后端数据库支持, 丰富多样的配置设定等。 1、Bugzilla Bugzilla…

    2023年1月15日
    29700
  • 研发团队管理的方法

    解决研发团队管理问题需关注几个关键点:1、明确的角色分配和责任界定、2、高效的沟通机制、3、持续的技能培训、4、创新激励体系、5、项目管理工具的应用。在2、高效的沟通机制方面,确保团队成员能够快速、清晰地交换想法与信息,是推动项目向前发展的关键。这包括定期的团队会议、透明的信息共享平台和及时的反馈途…

    2024年1月10日
    8100
  • 库房管理系统的设计与实现

    库房管理系统的设计与实现是为了优化库存控制、提高库存准确性及提升出入库作业效率。系统设计时应考虑模块化设计、系统整合性、用户友好性、数据安全性与备份机制。例如,在模块化设计中,系统将分为入库管理、库存管理、出库管理等独立模块,实现特定功能,以提高整体的可用性和维护性。 库房管理系统的有效设计与实现基…

    2024年1月9日
    9700
  • 什么是SMT(satisfiabilitymodulotheories)

    SMT的全称是Satisfiability Modulo Theories,可被翻译为”可满足性模理论”,“多理论下的可满足性问题”或者”特定(背景)理论下的可满足性问题”,其判定算法被称为SMT求解器.简单地说,一个SMT公式是结合了理论背景的逻辑公式,其中的命题变量可以代表理论公式. SMT的全…

    2023年2月22日
    1.1K00
  • 变量的声明、定义、赋值和初始化有什么区别

    区别有:1、声明、定义、赋值和初始化的作用区别;2、声明和定义两者的联系与区别。声明用于向程序表明变量的类型和名字;定义主要用于为变量分配存储空间;赋值是把对象的当前值擦除,再给一个新值替代;初始化是在创建变量时赋予一个初始值。 1、声明、定义、赋值和初始化的作用区别 声明的作用:向程序表明变量的类…

    2023年2月16日
    71000
  • 顶级oa办公系统

    OA(Office Automation)办公自动化系统在提高公司运作效率、资源管理以及信息交流方面扮演着重要角色。1、对OA办公系统进行量身定制能满足企业特定需求、2、集成先进技术如云计算提供高效率与数据安全保障、3、具备优良的用户界面和体验,确保员工轻松上手且高效使用、4、支持跨平台操作增强灵活…

    2024年1月17日
    8600
  • 如何在Jira中管理复杂的工作流

    在Jira中管理复杂的工作流需要遵循以下步骤:1、彻底理解项目需求;2、自定义工作流以符合特定需求;3、有效地使用工作流条件与验证器;4、针对不同角色定义权限和安全设置;5、设计清晰的工作流画布;6、周期性地审核和迭代工作流。 其中自定义工作流依据特定需求的重要性尤为突出,它涉及到对Jira中预设的…

    2024年1月3日
    16500
  • 什么是WebRTC服务器

    WebRTC(Web Real-Time Communication)服务器,是指运行WebRTC协议的服务器,用于实现网页浏览器之间的实时音视频通信和数据共享。WebRTC是一个开源项目,它的目标是使得网页应用程序能够进行实时通信(RTC),无需任何插件或者第三方软件。 WebRTC(Web Re…

    2023年7月18日
    42500
  • 移动办公OA软件有哪些

    移动办公OA软件有:1、OA办公;2、云OA;3、智办公;4、智旦OA;5、企业微信。OA办公是一款集合数字办公的平台,可以开展多人一起工作,可以实时推送给员工办公信息,采用了创新的工作类型,开展多项办公功能,达到了统一的智能办公标准,可以满足不同类型客户的需要。 一、OA办公 OA办公是一款集合数…

    2023年5月7日
    23500
  • 办公oa系统市场需求

    开篇即切入主题,办公OA系统因其提升工作效率、优化流程管理、支持远程协作等优点,在现代办事机关与企业中的市场需求日益增长。1、提升工作效率:办公OA系统能够通过数字化手段简化日常行政任务,减少纸质文档的处理时间。2、流程管理优化:此类系统实现流程的标准化与自动化,确保任务按照既定流程高质量完成。3、…

    2024年1月15日
    17000

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部