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

1、在类中的位置不同

成员变量:在类中方法外面

局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中)

2、在内存中的位置不同,可以看看Java程序内存的简单分析

成员变量:在堆中(方法区中的静态区)

局部变量:在栈中

3、生命周期不同

成员变量:随着对象的创建而存在,随着对象的消失而消失

局部变量:随着方法的调用或者代码块的执行而存在,随着方法的调用完毕或者代码块的执行完毕而消失

4、初始值

成员变量:有默认初始值

局部变量:没有默认初始值,使用之前需要赋值,否则编译器会报错(The local variable xxx may not have been initialized)

package demo;public class VariableDemo {String name = "成员变量";public static void main(String[] args) {new VariableDemo().show();}public void show() {String name = "局部变量";System.out.println(name);}
}

输出结果:局部变量
我们看到输出的是show方法中定义的name变量,在使用变量时遵循的原则是就近原则,那么如何访问到成员变量name呢,Java中提供了this(表示调用对象本身)这个关键字用于访问成员变量。

package demo;public class VariableDemo {String name = "成员变量";public static void main(String[] args) {new VariableDemo().show();}public void show() {String name = "局部变量";System.out.println(this.name);}
}

输出结果:成员变量

本文转载自:https://www.cnblogs.com/huangminwen/p/5935130.html

成员变量与局部变量的区别相关推荐

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

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

  2. Java类定义、成员变量定义、方法定义、成员变量与局部变量的区别

    编程语言的三大发展阶段:面向机器语言.面向过程语言.面向对象语言 : 其中面向对象语言主要体现三个特征:封装性.继承.动态 : 类的定义:类声明和类体.基本格式如下: class 类名{    类体 ...

  3. 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)

    1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 ...

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

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

  5. 【笔记】Java中使用变量的规则(使用变量,遵循就近原则)、成员变量和局部变量的区别

    文章目录 一.使用变量的规则 二.成员变量和局部变量的区别 一.使用变量的规则 最终输出的是"小黑正在努力学习" 使用变量,遵循就近原则 例:将上述代码敲一遍 Student部分 ...

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

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

  7. java中的成员变量和局部变量的区别_java中成员变量与局部变量区别分析

    本文实例分析了java中成员变量与局部变量区别.分享给大家供大家参考.具体分析如下: 成员变量:在这个类里定义的私有变量,属于这个类. 创建以及使用成员变量 public class Person { ...

  8. Java基础--成员变量和局部变量(区别、重名问题)

    成员变量和局部变量 注:所有的变量没有赋值是不能使用的!!! 两者的区别:定义的位置不同:成员变量:定义在类中成员位置的变量,称为实例变量 / 类变量,在类中方法外局部变量:定义在类中方法中作用范围不 ...

  9. Java面向对象思想、类的定义、对象的使用、对象内存图、成员变量和局部变量的区别、封装、private关键字、this关键字、构造方法、JavaBean-day06

    目录 第1节 面向对象思想 1.1 面向对象思想概述 概述 举例 特点 1.2 类和对象 什么是对象 类与对象的关系 1.3 类的定义 事物与类的对比 类的定义格式 1.4 对象的使用 对象的使用格式 ...

最新文章

  1. [Everyday Mathematics]20150222
  2. SQL优化万能公式:5 大步骤 + 10 个案例
  3. 【数学和算法】如何理解特征值为复数的情况
  4. 如何用计算机输入数学公式,使用Win7输入面板让数学公式输入更轻松
  5. php7 安装zendopcache,安装PHP加速插件ZendOpcache
  6. php读程序,PHP 读取大文件程序代码
  7. windows改变php版本
  8. 一台计算机只能安装一块网络接口卡,为什么用路由上网,只有一台电脑可以上去?...
  9. Java核心类库篇2——lang
  10. 漫画:7种编程语言的学习曲线
  11. Python的基本编码规范
  12. C1083: 无法打开包括文件: “opencv2/opencv.hpp”: No such file or directory
  13. 使用微软Monaco Editor 编写代码比对工具
  14. 4X99神将X国逆向工程实战
  15. 什么是DIMM插槽?
  16. python spss modeler 比较_非常值得收藏的 IBM SPSS Modeler 算法简介
  17. Topic modeling made just simple enough
  18. java 中的惰性初始化_java惰性初始化
  19. 1.16 常用电平标准(TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL)
  20. 完美解决 bash: /dev/fd/63: No such file or directory

热门文章

  1. 走迷宫问题 算法竞赛入门经典
  2. 我搭建Wiki网站的步骤
  3. 《Algorithms》常见排序算法比较
  4. 12.5 防止死锁的加锁机制
  5. 软件_mongo占用磁盘空间过大
  6. ubuntu环境变量相关文件/etc/profile,/etc/bash.bashrc,~/.profile,~/.bashrc区别
  7. c语言 乘号 指针 避免,C语言指针篇(一)指针与指针变量
  8. linux 脚本中的push,在Linux系统下实现ServerPush(转)
  9. html地图动画效果图,【html】绚丽的HTML5地图分布动画DEMO演示
  10. linux整行剪切_云计算人员如何提高效率 要掌握哪些Linux命令