成员变量:
1)声明在方法体外,在类体内的变量。
2)成员变量在这个类中都有效。
3)成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。
4)使用成员变量时未初始化会被赋予默认的初始化值。
局部变量:
1)声明在方法中,参数上,语句中。
2)只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。
3)局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。
4)局部变量没有默认初始化值,所以使用前必须初始化值。
例:成员变量
public class HelloWorld {
int intA; //没有赋初始化值成员变量
String strA;
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
System.out.println("intA="+hello.intA+","+"intA="+hello.strA);
}
}
打印结果:
例:局部变量
public class HelloWorld {
public static void main(String[] args) {
int intA = 0; //局部变量使用前必须赋值,否则会报错
String strA = null;
System.out.println("intA="+intA+","+"intA="+strA);
}
}
打印结果: