java中的成员变量与局部变量
2013-07-17 11:44
218 查看
1.定义
成员变量值的是在类范围里定义的变量,局部变量值的是在方法里定义的变量。具体分类如下
1.2成员变量
有关成员变量的说明可以参考本人的另一篇博客《java中的static》中的“staic修饰Field”,这里不再说明。只需知道成员变量存放在堆内存中。
1.2局部变量
定义局部变量后,必须经过初始化才能使用,这是因为定义局部变量后,系统并未为这个局部变量分配内存空间,直到等到程序为这个变量赋初始化值时,系统才会为其分配内存空间,并将初始值保存在这块内存中。与成员变量不同,局部变量不属于任何类或实例,因此他总是保存在所在方法的栈内存中,如果局部变量是基本类型的变量,则直接把这个变量的值保存在对应的内存中,如果局部变量是一个引用类型的变量,则这个变量里存放的是地址,通过地址引用到该变量实际引用的对象或数组。栈内存中的变量无须系统垃圾回收,往往随方法或代码块的结束而结束。
局部变量使用时要注意,应该尽可能缩小局部变量的作用范围,局部变量的作用范围越小,他在内存中存放的时间就越短,程序运行性能就越好。如下面三段代码
代码1:
public class PersonTest {
static int i;
public static void main(String[] args){
for(i = 0;i < 100; i++){
System.out.println(i);
}
}
}
代码2:
public class PersonTest {
public static void main(String[] args){
int i;
for(i = 0;i < 100; i++){
System.out.println(i);
}
}
}
代码3:
public class PersonTest {
public static void main(String[] args){
for(int i = 0;i < 100; i++){
System.out.println(i);
}
}
}
可见,代码3最符合规范,对于一个循环变量,只需要他在循环体内有效即可。
成员变量值的是在类范围里定义的变量,局部变量值的是在方法里定义的变量。具体分类如下
1.2成员变量
有关成员变量的说明可以参考本人的另一篇博客《java中的static》中的“staic修饰Field”,这里不再说明。只需知道成员变量存放在堆内存中。
1.2局部变量
定义局部变量后,必须经过初始化才能使用,这是因为定义局部变量后,系统并未为这个局部变量分配内存空间,直到等到程序为这个变量赋初始化值时,系统才会为其分配内存空间,并将初始值保存在这块内存中。与成员变量不同,局部变量不属于任何类或实例,因此他总是保存在所在方法的栈内存中,如果局部变量是基本类型的变量,则直接把这个变量的值保存在对应的内存中,如果局部变量是一个引用类型的变量,则这个变量里存放的是地址,通过地址引用到该变量实际引用的对象或数组。栈内存中的变量无须系统垃圾回收,往往随方法或代码块的结束而结束。
局部变量使用时要注意,应该尽可能缩小局部变量的作用范围,局部变量的作用范围越小,他在内存中存放的时间就越短,程序运行性能就越好。如下面三段代码
代码1:
public class PersonTest {
static int i;
public static void main(String[] args){
for(i = 0;i < 100; i++){
System.out.println(i);
}
}
}
代码2:
public class PersonTest {
public static void main(String[] args){
int i;
for(i = 0;i < 100; i++){
System.out.println(i);
}
}
}
代码3:
public class PersonTest {
public static void main(String[] args){
for(int i = 0;i < 100; i++){
System.out.println(i);
}
}
}
可见,代码3最符合规范,对于一个循环变量,只需要他在循环体内有效即可。
相关文章推荐
- Java 多线程(四) 多线程访问成员变量与局部变量
- java线程安全问题之静态成员变量、实例成员变量、局部变量
- 什么是java的局部变量,成员变量,全局变量?
- java中成员变量、局部变量、静态变量的区别
- java的成员变量和局部变量!
- Java中成员变量和局部变量的区别及构造方法的概述
- 第3章 Java语言基础----成员变量与局部变量
- Java中成员变量和局部变量
- java 成员变量和局部变量
- java 类变量 成员变量 局部变量
- Java 多线程(四) 多线程访问成员变量与局部变量
- Java中的成员变量和局部变量
- Java学习笔记----成员变量与局部变量
- java中局部变量和成员变量的区别
- java中成员变量与局部变量
- java 线程---成员变量与局部变量
- java 成员变量与局部变量
- Java中的成员变量和局部变量
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- java基础七(成员变量 局部变量 匿名对象 封装 设计原则 private this 构造方法 static)