在Java中,成员变量和局部变量有如下几点不同:
1.作用域不同:成员变量的作用域是整个类,而局部变量的作用域仅限于它所在的方法、构造器或语句块。
2.存储位置不同:成员变量存储在堆内存中,而局部变量存储在栈内存中。
3.初始值不同:成员变量有默认初始值,而局部变量没有默认初始值,必须先声明,再使用。
4.生存周期不同:成员变量的生存周期和整个类的生存周期相同,而局部变量的生存周期仅限于它所在的方法、构造器或语句块。
总的来说,成员变量描述类的属性,而局部变量则是用来在方法、构造器或语句块中临时存储数据的。