声明:本文首发于我的个人微信公众号【Java编程社区】,查看更多文章与学习资源请移步我的公众号Java编程社区

成员变量:定义在类中的变量。
局部变量:定义在方法中的变量。

成员变量与局部变量的区别:

1、应用范围

成员变量在整个类中有效

局部变量只在其声明的方法中有效

2、生命周期

成员变量:它属于对象,它随着对象的创建而创建,随着对象的消失而消失

局部变量:使用完马上释放空间

看段代码

void show(int id){for (int i = 0; i < 10; i++) {         for (int j = 0; j < 10; j++) {System.out.println(id);}}}

这里的id,i,j都是在方法内声明的,因此都是局部变量

id在show方法被调用时它的生命周期开始,方法结束时id消失

j当里层for循环执行时生命周期开始,当里层for结束,j消失

3、存储位置

成员变量属于对象,它存储在堆内,堆内的实体,当没有引用指向其时,才被垃圾回收处理。

局部变量存在于栈内存中,当不在使用时,马上就会被释放。

4、初始值

成员变量它存储在堆中,如果没有赋初值,它有默认值

  • 整数byte,short,int,long = 0

  • char = ‘\u0000’

  • boolean = false

  • String = null

  • float,double = 0.0

局部变量要想使用必须手动初始化

注意事项:

局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

内存分析

class Car {//汽车应该具备的属性String color;//汽车具备的颜色int num;    //汽车跑的行为public void run(){System.out.println(color + "的车,轮胎数: " + num + "个,跑起来了");}
}public class CarDemo {public static void main(String[] args) {//创建实体Car car = new Car();car.color = "red";car.num = 4;        //指挥车运行,调用格式:对象.对象成员car.run();}
}


这里car其实是对象的引用,它存储的是一地址,这个地址指向了堆里的一块内存。这里的color和num都是成员变量,null和0是它们的默认值,”red”和4是赋给它们的初始值。

最后再来看个例子

class Variable {int a; //成员变量a,默认值是0public void test() {int b = 20;//局部变量b,没有默认值,需要初始化System.out.println(b);//20        int a = 50;//局部变量a,和成员变量a的名称相同System.out.println(a);//50}
}
class VariableDemo {public static void main(String[] args) {Variable variable = new Variable();System.out.println(variable.a); //0,variable.a访问成员变量variable.test();//调用成员方法             }
} 

代码执行结果:

今天就分享到这,后续会继续分享,敬请期待!
声明:本文首发于我的个人微信公众号【Java编程社区】,查看更多文章与学习资源请移步我的公众号Java编程社区

Java学习笔记——局部变量和成员变量相关推荐

  1. Java中合理使用局部变量替代成员变量、静态变量

    故事起因 一个Java类中可以存在多种形式的变量,可以是最一般的成员变量.或静态变量.或临时变量.如下图: public class VariableDemo {static int staticVa ...

  2. java 静态成员 创建_Java学习笔记11---静态成员变量、静态代码块、成员变量及构造方法的初始化或调用顺序...

    当创建一个对象时,各种成员变量及构造方法的初始化或调用顺序是怎样的呢? (1).如果类尚未加载,则先初始化静态成员变量和静态代码块,再初始化成员变量,最后调用相应的构造方法: (2).如果类已经加载过 ...

  3. java中的局部变量、成员变量、类变量

    局部变量:在方法.构造函数或者语句块中定义的变量被称为局部变量. 特点:变量的声明和初始化都是在方法中,方法结束后,变量就会自动销毁. 例:下面代码块的s2 成员变量:成员变量是定义在类中,方法体之外 ...

  4. Java学习笔记2、环境变量配置与初学者常见错误

    2.1 环境变量的配置 2.1.1 path环境变量配置的作用 程序的执行需要使用外部指令javac,但是javac指令仅仅能在JDK安装目录下的bin目录下运行,因此程序只能写入bin目录程序开发过 ...

  5. java学习笔记day07 成员变量与局部变量、形式参数、匿名对象、封装、private、this、构造方法、类详细讲解、static

    java学习笔记day07 1.成员变量和局部变量的区别 定义变量的注意事项 2.形式参数⭐ [P175] 形参是个类名,要的其实是一个对象 3.匿名对象(了解即可) 4.封装 class Stude ...

  6. Java学习笔记day14(两个引用指向同一对象内存图解、成员变量和局部变量的区别、private关键字、this关键字、构造方法的特点、面向对象标准汽车类练习)

    *1.两个引用指向同一对象内存:  *         例子:Phone.java与Phone_Test.java /** 手机类:* 成员变量:品牌,价格,颜色...* 成员方法:打电话,发短信.. ...

  7. 第三次学JAVA再学不好就吃翔(part21)--局部变量与成员变量

    学习笔记,仅供参考 文章目录 面向对象 局部变量与成员变量的区别 来几个例子 注意事项 面向对象 局部变量与成员变量的区别 在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明 ...

  8. java中局部变量和成员变量

    java中局部变量和成员变量 1. 定义的位置不一样 局部变量:在方法的内部 成员变量:在方法的外部,直接写在类当中 2. 作业范围不一样 局部变量:只有方法当中才能使用,出了方法就不能再用 成员变量 ...

  9. 【火同学】Java学习笔记——标识符,基本数据类型,变量

    Java学习笔记 Ps:素材来源:老韩校长的Java编程课.目的是记录自己的学习历程,与商业利益无关.所有步骤都是自己根据课程内容编写,所以投原创啦! ★哔哩哔哩~搜索:这里是火同学 观看视频介绍 大 ...

最新文章

  1. MFC单文档框架编程(二): SDI框架下的消息处理
  2. python文件行数统计_文件行数和代码行数统计
  3. Atlassian发布事故管理解决方案Jira Ops
  4. jooq_jOOQ星期二:拉斐尔·温特豪德(Rafael Winterhalter)正在与字节好友合作字节码...
  5. js操作table中tr的顺序,实现上移下移一行的效果
  6. armv7 cortex a系列编程手册_AWTK能为现代GUI编程带来何种改变?
  7. 国科大高级人工智能+prml4-CNN
  8. 如何制作一条网线?(双绞线在水晶头中的排列顺序)
  9. 剑指offer (02):实现 Singleton 单例模式 (Python 实现详解)
  10. 信息收集端口扫描工具masscan
  11. 想学PLC编程,先弄清5种PLC专用语言
  12. CF 1467 C. Three Bags
  13. MFC无边框窗体设置窗口圆角,并且绘制边框
  14. Zbrush 导出置换 然后导入vray 在 3ds max 和 maya 设置
  15. 聊一次跳槽被怼的经历
  16. SQL巩固以及数据库、表结构优化
  17. 【如何处理Windows 8 系统自带微软拼音简捷输入法无法删除】
  18. python爬取网站的图片
  19. 现要求输入一个整数n,请输出斐波那契数列的第n项
  20. 我的世界服务器java进不去_萌新求助 mc服务器进不去

热门文章

  1. 【Flask项目2】python对象分页数据序列化基类(5)
  2. optee os中共享内存的类型
  3. select poll epoll IO操作多路复用及猴子补丁
  4. KTHREAD 结构体属性介绍
  5. EASYHOOK逆向寒假生涯(20/100)
  6. 2020-11-29(准备考试)
  7. python爬取数据存入mysql
  8. 1、数据库为什么需要备份?
  9. 限制Textarea文本域内容的长度
  10. HDU2018题求母牛数量C++