定义的**位置上**区别: <br /> 1. 成员变量是定义在方法之外,类之内的。<br /> 2. 局部变量是定义在方法之内。<br /> <br /> **作用上**的区别:<br /> 1. 成员变量的作用是用于描述一类事物的公共 属性的。<br /> 2. 局部变量的作用就是提供一个变量给方法内部使用而已。<br /> <br /> **生命周期**区别:<br /> 1. 成员变量随着对象的创建而存在,随着对象的消失而消失。<br /> 2. 局部变量在调用了对应的方法时执行到了创建该变量的语句时存在,局部变量一旦出了自己的作用域<br /> 那么马上从内存中消失。<br /> <br /> **初始值**的区别:<br /> 1. 成员变量是有默认的初始值。<br /> 数据类型 默认的初始值<br /> int 0<br /> float 0.0f<br /> double 0.0<br /> boolean false<br /> char ' '<br /> String(引用数据类型) null<br /> <br /> <br /> 2. 局部变量是没有默认的初始值的,必须要先初始化才能使用。
对象内存图:
实例:
package moreclass;
public class DemoTest {
//成员变量(类中,方法外)
int a;
String name = "wangbin";
public static void main(String[] args) {
DemoTest T = new DemoTest();
T.print();
T.getPrint();
}
public void print(){
//局部变量,方法中
int b;
String name = "print11";
System.out.println(name);
System.out.println(this.name);
}
public void getPrint(){
int c;
String name = "getPrint";
System.out.println(name);
System.out.println(this.name);
}
}