java中局部变量和全局变量
来源:互联网 发布:马自达 mx5 rf 知乎 编辑:程序博客网 时间:2024/05/16 19:42
java区分局部变量和全局变量
1、局部变量:
局部变量的定义:定义在方法中的变量都是局部变量(main方法也是方法,所以定义在main方法中的变量也是局 部变量)。
生存时间:局部变量的生存时间和方法的生存时间一致,调用该方法声明该局部变量并初始化的时,该局部变量被创建并分配内存空间;直到该方法调用结束局部变量也就结束了;
是否需要初始化:局部变量在使用前必须进行初始化,系统默认不会对局部变量进行初始化数据操作,如果局部 变量在使用前没有进行初始化则会在编译器报错;如果局部变量进行了声明没有进行初始化, 但是也一直没有被使用的话编译也是不会报错的;(局部变量使用前必须初始化话)
创建位置: 局部变量是创建在栈内存中的;
2、全局变量:
2.1 非静态全局变量:
非静态全局变量的定义:非静态全局变量都是定在类中,是类的成员变量或者说是成员属性属于类的一部分(或 者说是对象的一部分);
生存时间:非静态全局变量加载在堆内存中,随着声明初始化而创建,随着对象消亡而消亡;
是否需要初始化:全局变量都是不需要被强制初始化的,系统都会默认根据其数据类型进行默认赋值;但是建议 在声明时都进行初始化操作;
创建位置:创建在堆内存中,因为非静态的全局变量数对象的成员变量是对象的一部分;
2.2静态全局变量:
静态全局变量的定义:静态的类成员变量;
生存时间:静态全局变量随着类的字节码文件加载而加载产生,随着字节码文件的消失而消失,生存时间比类的 对象还要长;
是否初始化:凡是全局变量都是可以不要初始化的,静态变量也是一样,系统会自动根据其数据类型进行赋默认 值,但是建议变量在声明时都进行初始化;
创建位置:静态变量时存在于对内存中的,所以静态全局变量也是存在于堆内存中的;
- java中局部变量和全局变量
- java全局变量和局部变量
- C/C++中全局变量和局部变量
- SQL中全局变量和局部变量
- c语言中全局变量和局部变量
- PHP中全局变量和局部变量详解
- php中局部变量和全局变量
- Labview 中局部变量和全局变量
- JS中全局变量和局部变量
- JAVA全局变量和局部变量简单介绍
- java 局部变量和全局变量问题
- Java中的全局变量和局部变量
- java 局部变量和全局变量问题
- java中的局部变量和全局变量
- Java的全局变量和局部变量
- java /全局变量 /局部变量
- 局部变量和全局变量
- 局部变量和全局变量
- go语言中type的几种使用
- 解决打开mysql.exe后闪退
- 【设计模式 - 12】之代理模式(Proxy)
- Spring中Aspect的切入点语法定义细节
- 十五周—统计字符串长度
- java中局部变量和全局变量
- 如何在html页面联入css样式
- 道德经全文用字分析
- GCD,@synchronized 实现生产者-消费者模型
- git 初步使用 -- 提交代码
- 10014---CentOS6.5下kafka+ZooKeeper下载与安装详细教程-多机版本1
- VS2012 Error:不存在从“——”到“——*”的适当转换函数—已解决
- Mac OS X 上的ldd和strace的替代
- Mybatis 示例之 foreach