public class Dog{
String kind; //“成员变量”
public void Color(){
int color = black; //局部变量
System.out.println("颜色是"+color);
}
}
两者区别:
1.初始化的值不同
成员变量:有默认值 ; 局部变量:没有默认值。必须先定义,赋值,最后使用。
2.在类中的位置不同
成员变量:类中,方法外 ;局部变量:方法中或者方法声明上 (形式参数)。
3.在内存中的位置不同
成员变量:堆内存 ; 局部变量:栈内存。
4.生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失 ; 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。
5.作用范围不同
成员变量:类中 ; 局部变量:方法中。
![bb6fb7676019e439b59af5f9db530cf3.png](https://i-blog.csdnimg.cn/blog_migrate/60a6b5d78f6ca19a22da18da6e4a5a77.png)