成员变量:

当系统加载类或创建类的实例时,系统会自动为成员变量分配内存空间,并在分配内存空间后,自动为成员变量指定初始值。

eyeNum是类属性。name是实例属性

所有person实例访问eyeNum都将访问person类的eyeNum属性。访问的是同一块内存。如果通过实例修改类属性,所有实例访问时都会改变。

局部变量:

局部变量定义后,必须经过显示初始化才能使用。这意味着定义了局部变量后,系统并未为这个变量分配内存空间,直到等到程序为这个变量赋值初始值时,系统才会给局部变量分配内存,并将初始值保存到这块内存中。

与成员变量不同,局部变量不属于任何类或实例,因此它总是保存在其所在方法的栈内存中。如果局部变量是基本类型变量,则直接把变量值存放在栈中,如果是引用类型,则存放地址在栈中。

栈内存中的变量无须系统垃圾回收,变量是随方法或代码块的运行结束而结束的。因此,局部变量的作用域是从初始化该变量开始,知道该方法或该代码块运行完成而结束。因为局部变量只保存基本类型的值或对象的引用,因此局部变量所占的内存通常较小。

当我们定义一个成员变量时,成员变量将被放置到堆内存中,成员变量的作用域将扩大到类存在范围或者对象存在范围。这种范围扩大有两个坏处:

1,增大了变量的生存时间,将导致更大的系统开销

2,扩大了作用域,不利于程序的内聚性。

转载于:https://www.cnblogs.com/fpcbk/p/9005115.html

java成员变量和局部变量的初始化和内存中的运行机制相关推荐

  1. 成员变量的初始化和内存中的运行机制

    成员变量被分为类变量和实例变量两种,定义成员变量时没有static修饰的就是实例变量,有static修饰的就是类变量.其中类变量从该类的准备阶段起开始存在,直到系统完全销毁这个类,类变量的作用域与这个 ...

  2. Java成员变量和局部变量的区别

    package com.zhangxueliang.demo;import org.junit.Test;/** 成员变量和局部变量的区别:* A:在类中的位置不同* 成员变量:类中,方法外* 局部变 ...

  3. JAVA 成员变量与局部变量的区别

    public class ObjectOrientend5 {int x;//为成员变量,紧跟着类public void show(int a){int y = 0;//这里的a,y都是在方法中,故都 ...

  4. day6 java成员变量与局部变量以及对象的建立

    1.成员变量与局部变量 2.属性 3.类的创建与对象的实例化 一个文件中可以有多个类,但是public class只有一个,并且与文件名相同 对象的创建 引用实例变量 综上 4.JVM内存图

  5. Java 成员变量和局部变量

    成员变量:在类中定义,用来描述对象将要有什么,可被本类,有关系的其他类使用 局部变量:在类的方法中定义,在方法中临时保存数据,只能被当前类使用 区别:1.作用域不同   局部变量的作用域仅限于定义它的 ...

  6. 关于Java成员变量、局部变量、方法,在JVM的内存空间分配

    1.变量类型 2.类的结构 下面是一般类的结构 //类体=属性+状态(即:类体=变量+方法) public class 类名{ //类名最好首字母大写的英文String name; //在方法体外,所 ...

  7. Java 成员变量与局部变量

    成员变量:在整个类中都有效 局部变量:在方法内定义的变量称为"局部变量"或"临时变量",方法结束后局部变量占用的内存将被释放 其特点就是只在定义它的方法中有效, ...

  8. [JAVA基础] 成员变量和局部变量(一看就懂的总结归纳篇)

    引言 成员变量和局部变量在每种编程语言中都有涉及,如果之前了解过其他语言的成员变量或者局部变量,那么在学习java中的成员变量和局部变量时可以看看有那些联系和不同,这一块的东西也不能说难,如果第一次接 ...

  9. java成员变量/局部变量

    成员变量/局部变量 1.定义位置不同,成员变量定义在类里,局部变量定义在类的方法里. 来自网络 2.成员变量中,其中类变量从该类的准备阶段起开始存在,直到系统完全销毁这个类,类变量的作用域与这个类的生 ...

最新文章

  1. 生成树协议,stp使用哪两个参数来选举根网桥?
  2. 主要的窗体控件的概述
  3. Android调试的必杀技——反汇编
  4. Codeforces Round #375 (Div. 2) D. Lakes in Berland 并查集
  5. 全球及中国智能隐形眼镜行业供需现状与营销策略建议报告2022-2028年
  6. 你是别人眼中的废物产品经理吗?
  7. 计算机控制系统三种信号,计算机控制技术模拟试题3
  8. 采用这套全方位监控方案,立刻规避90%采购风险(附体验demo)
  9. python入门教程(非常详细)-python初学者怎么入门:python入门教程非常详细
  10. es分词查询与模糊查询
  11. [BZOJ 3622]已经没有什么好害怕的了(Dp+容斥原理)
  12. r4烧录卡内核安装_R4 Wood内核怎么用?R4烧录卡Wood R4内核详细使用教程
  13. 单片机软件开发的简单入门
  14. 【最详细】Wireshark使用教程
  15. 计算机图表制作教程,echarts入门教程 5分钟上手制作ECharts图表
  16. Linux服务器之Redis集群搭建
  17. APP登录 技术点与流程全解
  18. 设计模式超简单的解释!
  19. OLLYDBG使用笔记
  20. C#操作Word模板并且修改书签

热门文章

  1. 邓力、何晓冬深度解读:多模态智能未来的研究热点
  2. 构建生产机器学习系统的一些考虑
  3. ICCV 2019 论文解读:用图神经网络改善视频的多标签分类
  4. 人工智能犯罪:先行预防还是事后严惩
  5. 微软洪小文:制造业是最先享受AI成果的领域
  6. 机器翻译难敌人类灵活多变的语言
  7. 甲骨文落寞、SAP跃进:商用软件巨头的突围与宿命
  8. 诗人般的机器学习,ML工作原理大揭秘
  9. 新基建下的自动驾驶:单车智能和车路协同之争
  10. 麻省理工最新报告:完全无人驾驶仍需10年