『壹』 java中静态变量在方法里面与方法外面的区别
1.Java里的变量按位置定义的位置分为两种:
(1)成员变量:定义在类中,方法外。有默认值。
(2)局部变量:定义在代码块{}或方法中。没有默认值,使用之前必须显示赋值。
2.成员变量可以分为静态变量和非静态变量,都有默认值。
3.Java不像C/C++,不可以在方法里面使用static定义所谓的“静态局部变量”。所以Java里的静态变量都是成员变量。
『贰』 java中成员变量和局部变量的区别
成员变量:
1、成员变量定义在类中,在整个类中都可以被访问。
2、成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。
3、成员变量有默认初始化值。
局部变量:
1、局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。
2、局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。
3、局部变量没有默认初始化值
在使用变量时需要遵循的原则为:就近原则
首先在局部范围找,有就使用;接着在成员位置找。
『叁』 java方法变量在使用前必须初始化
1、java中有两种变量,局部变量和成员变量。成员变量就是定义在类中,方法外,全局的变量。局部变量使用前必须初始化,否则编译报错。成员变量可以不初始化,虚拟机会给他默认值。
classtest{
//定义成员变量b
publicstaticintb;
publicstaticvoidmain(String[]args){
System.out.println("hellojava");
//局部变量i
inti;
//这里如果直接输出会编译报错
i=0;
System.out.println(++i);
//这里直接输出b是可以的,默认为0
System.out.println(b);
}
}
2、局部变量的初始化可以认为是分配初始空间,也就是在内存中要开辟一块区域来存这个东西,不初始化是没有内存空间的,也就不能使用。
『肆』 JAVA中什么时候需要初始化什么时候不需要
成员变量会被初始化,局部变量不会初始化。
public class Main {
static int a; // 成员变量
public static void main(String[] args) {
int b; // 局部变量
System.out.println(a); // 正确输出,默认值是0
System.out.println(b); // 编译异常,没有初始化。因为程序不会自动赋值
}
}