java全局变量和局部变量的区别_java中的成员变量和全局变量有什么区别?
这个概念我在学习之初也有些迷惑,专门整理过这一份文档,希望对你有用。
java中就没有全局变量这个概念,只分为成员变量和局部变量。成员变量:Static修饰成为类变量或静态变量,还有就是方法外的变量。生命周期与类相同。
局部变量:就是方法中的变量。生命周期就是再次方法中。
但是,很多人学习都是先学习的C语言,C语言中存在全局变量这个概念,所以,大家对于Java中的成员变量有时候也称之为全局变量,同时也存在如下的一个约定俗成的小区别
使用static 关键字进行声明的变量叫做全局变量
在函数外面定义的变量叫做成员变量
成员变量成员变量定义在类中,在整个类中都可以被访问。
成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。
成员变量有默认初始化值。
局部变量局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。
局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。
局部变量没有默认初始化值在使用变量时需要遵循的原则为:就近原则
首先在局部范围找,有就使用;接着在成员位置找。
静态变量(也叫做类变量,类属性)
由static修饰的变量称为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。
成员变量和静态变量的区别
1.两个变量的生命周期不同成员变量随着对象的创建而存在,随着对象被回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。
2.调用方式不同成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。
3.别名不同成员变量也称为实例变量。
静态变量也称为类变量。
4.数据存储位置不同成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
java全局变量和局部变量的区别_java中的成员变量和全局变量有什么区别?相关推荐
- java 堆内存和栈内存的区别_java中栈内存和堆内存有什么区别
栈内存和堆内存的区别: 1.栈内存用来存放基本类型的变量和引用变量,堆内存用来存储java中的对象,无论是成员变量,局部变量,还是类变量,他们指向的对象都存储在堆内存中. (视频教程推荐:java视频 ...
- java静态类和非静态类的区别_Java中静态内部类和非静态内部类到底有什么区别?...
内部类(Inner Class)和静态内部类(Static Nested Class)的区别: 定义在一个类内部的类叫内部类,包含内部类的类称为外部类.内部类可以声明public.protected. ...
- Java成员变量查找_Java中的成员变量和局部变量
声明成员变量 可以用public proteced private修饰 eg public class Apple{ public String color;//声明公共变量 public stat ...
- java final f的区别_Java中final、finally、finalize的简单区别,中等区别,详细区别(Lawliet 修改+注释版)...
简单区别: 中等区别: 虽然这三个单词在Java中都存在,但是并没有太多关联: final:java中的关键字,修饰符. 1.如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类 ...
- java可比较的和比较器的区别_Java中Compareable和Comparator两种比较器的区别
对于JDK8而言,有三种实现对象比较的方法: 1.在需要比较的对象类中覆写Object类的equals()方法: 2.需要比较的类继承Comparable接口,然后在其类内部实现compareTo() ...
- java迭代和 递归的异同_Java中的递归和迭代之间有什么区别?
该递归和迭代都重复执行的指令集.递归是指函数中的语句重复调用自身时的情况.该迭代是当循环重复执行,直到控制条件为假.递归和迭代之间的主要区别在于,递归是一个过程,始终应用于函数,而迭代则应用于我们要重 ...
- main c语言中变量的定义,C语言中在main函数中定义的变量是全局变量么_后端开发...
PHP 和 JavaSript 区别_后端开发 PHP是一种创建动态交互性站点的强有力的服务器端脚本语言,主要用于Web开发领域,而JavaSript是一种具有函数优先的轻量级,解释型或即时编译型的高 ...
- java中的成员变量和局部变量的区别_java中成员变量与局部变量区别分析
本文实例分析了java中成员变量与局部变量区别.分享给大家供大家参考.具体分析如下: 成员变量:在这个类里定义的私有变量,属于这个类. 创建以及使用成员变量 public class Person { ...
- java中成员变量和全局变量的区别_成员变量与全局变量的区别
全局变量:也叫成员变量,是指在类中定义的变量:它在整个类中都有效 全局变量又可分为:类变量和实例变量 1.类变量:又叫静态变量 用static修饰 它可以直接用类名调用 也可以用对象调用 而 ...
- Java成员变量(全局变量)和局部变量
在Java中变量类型有成员变量.局部变量和静态变量(类变量.static变量),本篇文章主要介绍成员变量(全局变量)和局部变量的区别. 根据变量的作用范围,将程序中的变量分为成员变量(全局变量)和局部 ...
最新文章
- sql的执行顺序 (where、groupby、having等)
- IT工程师实战英语之一
- Vs code自动生成Doxygen格式注释
- 微云存照片会变模糊吗_手机自带微云台防抖,VivoX50系列不一般
- python logger_牛逼!python中的logging模块居然这么好用!
- Win 10 Revit 2019 安装过程,亲自踩的一遍坑,有你想要的细节
- 关于百度地图js api的getCurrentPosition定位不准确的解决方法
- 微信小程序之页面跳转
- Vmware报错 This product may not be installed on a computer that has Microsoft HyperV installed. 解决
- CSS3+jquery实现图片万花筒3D旋转动画特效
- 文件批量改名-bat操作
- android 夜间模式源码,Android Support Library 之 夜间模式
- 新世纪10年100个好东西 淘宝、QQ、伟哥入选
- 尼康D500套机相机黑屏是怎么回事
- C语言外挂实战【转】
- 2017百度之星 资格赛1003度度熊与邪恶大魔王
- BigBrother:UCloud 全链路大规模网络连通性检测系统详解
- ?? 关于zmq_proxy
- `docker数据持久化volume和bind mounts两种方式
- dedecms标签的使用