成员变量:
java中,成员变量是指在类体的变量部分中定义的变量,也称为属性。成员变量声明在类中,方法体之外,在创建对象时实例化;成员变量可被类中的方法、构造方法以及特定类的语句块访问。如果声明成员变量时没对其初始化,则系统会使用默认值初始化成员变量。(简而言之定义在类中方法外)
成员变量的初始化默认值如下:
整数型(byte、short、int 和 long)的基本类型变量的默认值为 0。
单精度浮点型(float)的基本类型变量的默认值为 0.0f。
双精度浮点型(double)的基本类型变量的默认值为 0.0d。
字符型(char)的基本类型变量的默认值为 “\u0000”。
布尔型的基本类型变量的默认值为 false。
局部变量:
局部变量:就是在成员方法里面定义的变量我们称之为局部变量
public class MyTest {
int c = 20; //成员变量
public static void main(String[] args) {
int num = 200; //局部变量
}
public static void add(int a, int b) { //形参a b 都是局部变量
int num = 1; //局部变量
}
}
成员变量和局部变量的区别:
局部变量:定义在方法中或方法声明上的变量(形参)
成员变量:定义在类方法外的变量
局部变量,属于方法,他随着方法的调用而产生,随着方法的调用完毕而消失。
成员变量,属于对象,他随着对象的创建而产生,随着对象的消失而消失。
局部变量:存在栈内存。
成员变量:存在堆内存。
局部变量,没有默认值,必须赋值才能使用。
成员变量,有默认值。