这个概念我在学习之初也有些迷惑,专门整理过这一份文档,希望对你有用。

java中就没有全局变量这个概念,只分为成员变量和局部变量。成员变量:Static修饰成为类变量或静态变量,还有就是方法外的变量。生命周期与类相同。

局部变量:就是方法中的变量。生命周期就是再次方法中。

但是,很多人学习都是先学习的C语言,C语言中存在全局变量这个概念,所以,大家对于Java中的成员变量有时候也称之为全局变量,同时也存在如下的一个约定俗成的小区别

使用static 关键字进行声明的变量叫做全局变量

在函数外面定义的变量叫做成员变量

成员变量成员变量定义在类中,在整个类中都可以被访问。

成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。

成员变量有默认初始化值。

局部变量局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。

局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。

局部变量没有默认初始化值在使用变量时需要遵循的原则为:就近原则

首先在局部范围找,有就使用;接着在成员位置找。

静态变量(也叫做类变量,类属性)

由static修饰的变量称为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。

成员变量和静态变量的区别

1.两个变量的生命周期不同成员变量随着对象的创建而存在,随着对象被回收而释放。

静态变量随着类的加载而存在,随着类的消失而消失。

2.调用方式不同成员变量只能被对象调用。

静态变量可以被对象调用,还可以被类名调用。

3.别名不同成员变量也称为实例变量。

静态变量也称为类变量。

4.数据存储位置不同成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

java全局变量和局部变量的区别_java中的成员变量和全局变量有什么区别?相关推荐

  1. java 堆内存和栈内存的区别_java中栈内存和堆内存有什么区别

    栈内存和堆内存的区别: 1.栈内存用来存放基本类型的变量和引用变量,堆内存用来存储java中的对象,无论是成员变量,局部变量,还是类变量,他们指向的对象都存储在堆内存中. (视频教程推荐:java视频 ...

  2. java静态类和非静态类的区别_Java中静态内部类和非静态内部类到底有什么区别?...

    内部类(Inner Class)和静态内部类(Static Nested Class)的区别: 定义在一个类内部的类叫内部类,包含内部类的类称为外部类.内部类可以声明public.protected. ...

  3. Java成员变量查找_Java中的成员变量和局部变量

    声明成员变量  可以用public proteced private修饰 eg public class Apple{ public String color;//声明公共变量 public stat ...

  4. java final f的区别_Java中final、finally、finalize的简单区别,中等区别,详细区别(Lawliet 修改+注释版)...

    简单区别: 中等区别: 虽然这三个单词在Java中都存在,但是并没有太多关联: final:java中的关键字,修饰符. 1.如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类 ...

  5. java可比较的和比较器的区别_Java中Compareable和Comparator两种比较器的区别

    对于JDK8而言,有三种实现对象比较的方法: 1.在需要比较的对象类中覆写Object类的equals()方法: 2.需要比较的类继承Comparable接口,然后在其类内部实现compareTo() ...

  6. java迭代和 递归的异同_Java中的递归和迭代之间有什么区别?

    该递归和迭代都重复执行的指令集.递归是指函数中的语句重复调用自身时的情况.该迭代是当循环重复执行,直到控制条件为假.递归和迭代之间的主要区别在于,递归是一个过程,始终应用于函数,而迭代则应用于我们要重 ...

  7. main c语言中变量的定义,C语言中在main函数中定义的变量是全局变量么_后端开发...

    PHP 和 JavaSript 区别_后端开发 PHP是一种创建动态交互性站点的强有力的服务器端脚本语言,主要用于Web开发领域,而JavaSript是一种具有函数优先的轻量级,解释型或即时编译型的高 ...

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

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

  9. java中成员变量和全局变量的区别_成员变量与全局变量的区别

    全局变量:也叫成员变量,是指在类中定义的变量:它在整个类中都有效 全局变量又可分为:类变量和实例变量 1.类变量:又叫静态变量  用static修饰  它可以直接用类名调用  也可以用对象调用   而 ...

  10. Java成员变量(全局变量)和局部变量

    在Java中变量类型有成员变量.局部变量和静态变量(类变量.static变量),本篇文章主要介绍成员变量(全局变量)和局部变量的区别. 根据变量的作用范围,将程序中的变量分为成员变量(全局变量)和局部 ...

最新文章

  1. sql的执行顺序 (where、groupby、having等)
  2. IT工程师实战英语之一
  3. Vs code自动生成Doxygen格式注释
  4. 微云存照片会变模糊吗_手机自带微云台防抖,VivoX50系列不一般
  5. python logger_牛逼!python中的logging模块居然这么好用!
  6. Win 10 Revit 2019 安装过程,亲自踩的一遍坑,有你想要的细节
  7. 关于百度地图js api的getCurrentPosition定位不准确的解决方法
  8. 微信小程序之页面跳转
  9. Vmware报错 This product may not be installed on a computer that has Microsoft HyperV installed. 解决
  10. CSS3+jquery实现图片万花筒3D旋转动画特效
  11. 文件批量改名-bat操作
  12. android 夜间模式源码,Android Support Library 之 夜间模式
  13. 新世纪10年100个好东西 淘宝、QQ、伟哥入选
  14. 尼康D500套机相机黑屏是怎么回事
  15. C语言外挂实战【转】
  16. 2017百度之星 资格赛1003度度熊与邪恶大魔王
  17. BigBrother:UCloud 全链路大规模网络连通性检测系统详解
  18. ?? 关于zmq_proxy
  19. `docker数据持久化volume和bind mounts两种方式
  20. dedecms标签的使用

热门文章

  1. 通用大数据架构体系介绍
  2. java爬虫教程02
  3. torch.bmm功能解读
  4. 笔记软件哪个好用?36款好用的笔记软件合集推荐!
  5. 【JavaEE】HTML基础知识
  6. 关于C++类模板template<typename T>的使用
  7. MVCC的含义,如何实现的?
  8. SQL Server 2005 如何恢复mdf文件的数据库
  9. 运行时错误java_的Java GRPC运行时错误
  10. Qt学习之路之QMovie动画