1.从语法形式上看:成员变量属于类,局部变量是在方法中定义的变量或者方法的参数,成员变量可以被public,private,static等修饰符修饰,局部变量不可以被访问权限修饰符及static进行修饰,成员变量和局部变量可以被final修饰;
2.从变量在内存中的存在方式看:如果成员变量被static进行修饰,那么成员变量属于类,如果没被static进行修饰,那这个成员变量就是实例化的;对象存在堆内存中,成员变量存在栈内存中;
3.从变量在内存中存在的时间来看:成员变量是对象的一部分,那么对象在创建的时候成员变量也就存在,而局部变量是方法中的,方法执行结束以后局部变量也就消失了;
4.从变量的赋值情况来看:成员变量在对象创建的时候会默认赋值(final修饰成员变量的时候赋值是显性的),局部变量赋值是方法没有执行前是不会对局部变量进行赋值的;