成员变量和局部变量的区别?
A.在类中的位置不同
成员变量:在类中,在方法之外
局部变量:在方法定义中声明或者方法声明上
B.在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
C:生命周期不同:
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。
D:初始值不同:
成员变量:有默认初始值
局部变量:没有默认值,不惜要定义,赋值,然后才能调用
注意事项:局部变量和全局变量是可以同名的,在方法中使用的时候,采用临近原则。
package Java高级06_02_面向对象;
public class VaiabDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Vaiable vaiable=new Vaiable();
vaiable.show("1234");
vaiable.getNum();
}
}
class Vaiable{
int num;//成员变量,默认初始值为0,生命周期:随着对象的创建而生成,随着对象的消失而消失
String yy;
String cc;
void show(String str) {
System.out.println("str:"+str);//输出1234
//我想将局部变量可以让本类的其他方法使用
String cc="张国伟";//局部变量,没有默认初始值,生命周期随着方法的调用而生成。
str=cc;
System.out.println("show:"+cc);//是局部变量,输出:show:张国伟
}
int getNum() {
System.out.println("getNum:"+cc);//是全局变量,输出:getNum:null
return num;
}
}