一、局部变量
存在某个方法中的变量就叫局部变量,局部变量一旦声明就必须赋值 否则不能使用
代码如下:
class Person { String name; char sex; int age; public void eat(){ int num = 10;//不进行赋值是在方法体内不能用的 编译的时候就会报错 尚未初始化变量 System.out.println(num+"吃"); } public void sleep(){ System.out.println("睡觉"); } }
二、成员变量
存在某个类中的并且类方法外就叫成员变量。成员变量可以在类中的任何地方访问
局部变量和成员变量的名字可以重名 当二个作用范围重叠时 取就近原则
代码如下:
class Person { String name; char sex; int age; public void eat(){ int num = 10;//不进行赋值是在方法体内不能用的 System.out.println(num+"吃");//如果这个地方使用时跟成员变量重名时 使用就近原则 此时num的值是10 } public void sleep(){ System.out.println("睡觉"); } }
三、二者的区别
1.所处的代码的位置不同
2.作用域不同
3.局部变量没有默认的初始值 而成员变量有默认的初始值
4.生命周期不同
局部变量:当方法调用完毕时局部变量就被销毁了时间比较短
成员变量:当对象消失时成员变量就销毁生命周期比较长