成员变量
java通过类来组织程序,在类中定义的属性称为成员变量,类定义的方法称为成员方法。
局部变量
在类的方法中定义的变量。
public class AutoLion{ 变量1类型 变量1; //成员变量
变量2类型 变量2; //成员变量
变量3类型 变量3; //成员变量
public 返回类型 方法1(){ //类中定义的方法
变量4类型 变量4; //j局部变量
}
public 返回类型 方法2(){
变量5类型 变量5; //局部变量
}
例:
public class Test {
int score1 = 88;
int score2 = 98;
public void testAvg() {
int avg = (score1 + score2)/2;
}
public void showAvg(){
System.out.println("平均分是: " + avg);
}
}
Test类中score1和score2是属于类中本身的属性, 他们是Test类的成员变量。
Test类中成员方法testAvg()的参数avg是局部变量。
成员变量和局部变量的区别
1.作用域不同
局部变量的作用域仅限于定义它的方法 ,局部变量只有在这个方法中能够使用。
成员变量的作用域在整个类内部都是可见的,成员变量是类的属性,是直接在类中定义的变量,位置在方法的外部,因此类的所有成员都可以使用。如果访问权限允许,还可以在类的外部使用成员变量,调用方法是先创建该类的对象,然后通过操作符"."引用。
2.初始值不同
成员变量可以在声明时赋初始值,如果在类定义时没有赋初始值,java会给他一个默认值。
局部变量在使用前一定要赋值,否则会报错,因为java不会给局部变量赋初始值。
3.局部变量在不同方法中可以同名
在同一个方法中,不允许有同名局部变量 ,但在不同的方法中,可以有同名局部变量。
4.优先级
在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级