定义的**位置上**区别: <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); }}