=============================================================================
1)静态变量和成员变量的区别: (1):所属不同: 静态变量:属于类,也称为类变量。 成员变量:属于对象,也称为对象变量或实例变量。 (2):在内存中的位置不同: 静态变量:存储于方法区的静态区。 成员变量:存储于堆内存。 (3):生命周期不同: 静态变量:静态变量是随着类的加载而加载,随着类的消失而消失。 成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失。 (4):调用不同: 静态变量:可以通过对象名调用,也可以通过类名调用。 成员变量:只能通过对象名调用。
=============================================================================
2)成员变量和局部变量的区别: (1)在类中的位置不同: 成员变量:在类中方法外。 局部变量:在方法定义中或者方法声明上(即形参)。 (2)在内存中的位置不同: 成员变量:在堆中。 局部变量:在栈中。 (3)生命周期不同: 成员变量:随着对象的创建而存在,随着对象的消失而消失。 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。 (4)初始化值不同: 成员变量:有默认值。 局部变量:没有默认值,必须定义,赋值,然后才能使用。 (5)注意事项:
1.局部变量名称可以和成员变量名称一样,但是在方法中使用该变量的时候,采用的是就近原则(即先找小范围,再找大范围)。 2.局部变量前不能放置任何访问修饰符 (private,public和protected)。final可以用来修饰局部变量。被final修饰的局部变量变为常量了。 3.修饰成员变量的修饰符有:private、默认、protected、public、static、final。
=============================================================================