成员变量和局部变量的区别 *
1、位置:两者定义的位置不同,成员变量定义在类的下面,局部变量定义在方法里 *
2.默认值:成员变量有默认值,局部变量没有默认值,必须赋初值 *
3.作用域:成员变量的作用域在整个类,而局部变量只能在方法内访问 *
4.优先级:当成员变量和局部变量同名时,局部变量的优先级高于成员变量 * *
局部变量的特点:
- 1.方法的参数,可以理解为一个局部变量
- 2.局部变量没有全限修饰符,不能在前面加public *
public class Animal {
int age = 10;//定义成员变量
public String name;//public修饰的变量不能定义在方法体内
public void sleep(String name){//将参数看做局部变量
System.out.println(name + "在睡觉");
int a = 10;//定义局部变量并赋值
System.out.println("睡了"+a+"h");
}
public void setAge(){
int age = 20;
System.out.println("他的年龄"+age);
}
public void run(int b){
System.out.println("age:"+age);
}
public void study(){
//局部变量和最近的{}相关
{
int a = 10;
System.out.println("a1:"+a);
}
int a = 20;
System.out.println("a2:"+a);
}
public static void main(String[] args) {
int c=0;//定义局部变量
System.out.println(c);//有误,局部变量没有默认值,使用时必须先赋值
Animal an = new Animal();
an.sleep("张三");
System.out.println();
an.setAge();
System.out.println();
an.run(1);
an.study();
}
}