一:局部变量
1.在方法中或在语句块中
2.局部变量必须赋初始值才能用
3.都存储在栈中
4.生命周期:定的时候产生,当前的方法,语句块,执行完毕就会消失
二:成员变量
1.在类里面定义
2.可以不赋值
3.存储在堆中
4.生命周期:随着对象的消失而消失,会被jvm的垃圾处理机制回收了
三:例子
/*
* 局部变量与成员变量
*/
public class LocalVar {
private static int sum;//成员变量,在类的首部编写,不赋值也能使用
private static String name;//成员变量
public static void main(String[] args) {
int id = 0;//局部变量,必须赋值,不然不能使用
System.out.println(sum);
System.out.println(name);
System.out.println(id);
}
}
四:匿名对象
没有意义,容易被垃圾处理回收站回收掉,new出来的空间在堆中在栈中没有一个变量对他做引用,实际开发中避免匿名对象