java学习日记_14:面向对象之成员变量与局部变量的区别。

来源:互联网 发布:socket作用 java 知乎 编辑:程序博客网 时间:2024/05/16 13:07

成语变量与局部变量有四大主要区别:

第一:成员变量与局部变量的位置不同。

   成员变量:在类中的方法外

   局部变量;在方法定义中或者方法的声明上

第二:成员变量和局部变量的内存位置不同。 

   成员变量:内存在堆

   局部变量:内存在栈

第三:成员变量和局部变量的周期不同。

   成员变量:随着对象的创建而出现,随着对象的消失而消失;

   局部变量:随着方法的调用而存在,随着方法的消失而消失;

第四:成员变量与局部变量的初始化不同。

   成员变量:有默认初始化;

   局部变量:无默认值,必须定义,赋值,才能被调用;

注意事项:成员变量和局部变量可以相同,使用时,遵守就近原则;


/*
成员变量与局部变量的区别
*/
class Diff{
int mun;//之后才调成员变量(就近原则)
public void one(){
//int nub1;   错误,必须初始化才能使用
int nub1=23;//正确
int  num=12;//调用时,会先调用这个区别变量(就近变量)
System.out.println(nub1);
}
}
class Diff2{
public  static void main(String[] args){
Diff p =new Diff();

System.out.println(p.mun);
p.one();
}
}

0 0
原创粉丝点击