java的局部变量和成员变量以及区别

一、局部变量

存在某个方法中的变量就叫局部变量,局部变量一旦声明就必须赋值 否则不能使用

代码如下:

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.生命周期不同

局部变量:当方法调用完毕时局部变量就被销毁了时间比较短

成员变量:当对象消失时成员变量就销毁生命周期比较长

原文地址:https://www.cnblogs.com/nianzhilian/p/8667090.html