Java--成员变量和局部变量,成员和静态变量区别

来源:互联网 发布:蒙古语自学软件 编辑:程序博客网 时间:2024/05/22 03:36

成员变量和局部变量区别

在类中的位置不同

   * 成员变量:在类中方法外
   * 局部变量:在方法定义中或者方法声明上
在内存中的位置不同
   * 成员变量:在堆内存(成员变量属于对象,对象进堆内存)
   * 局部变量:在栈内存(局部变量属于方法,方法进栈内存)
生命周期不同
   * 成员变量:随着对象的创建而存在,随着对象的消失而消失
   * 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
初始化值不同
   * 成员变量:有默认初始化值
   * 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
注意事项:
   * 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
   * 基本数据类型变量包括哪些:byte,short,int,long,float,double,boolean,char

   * 引用数据类型变量包括哪些:数组,类,接口,枚举

class Variable{public static void main(String[] args){}}class Person{String name;                         //成员变量public void speak(){//(int x)int num = 0;//x和num都是局部变量}}

静态变量和成员变量区别:

静态变量也叫类变量  成员变量也叫对象变量
所属不同
   * 静态变量属于类,所以也称为为类变量
   * 成员变量属于对象,所以也称为实例变量(对象变量)
内存中位置不同
   * 静态变量存储于方法区的静态区
   * 成员变量存储于堆内存
内存出现时间不同
   * 静态变量随着类的加载而加载,随着类的消失而消失
   * 成员变量随着对象的创建而存在,随着对象的消失而消失
调用不同
   * 静态变量可以通过类名调用,也可以通过对象调用
   * 成员变量只能通过对象名调用

1 0
原创粉丝点击