Java高级-成员变量和局部变量

303 阅读1分钟

成员变量和局部变量的区别?

A.在类中的位置不同

​ 成员变量:在类中,在方法之外

​ 局部变量:在方法定义中声明或者方法声明上

B.在内存中的位置不同

​ 成员变量:在堆内存

​ 局部变量:在栈内存

C:生命周期不同:

​ 成员变量:随着对象的创建而存在,随着对象的消失而消失

​ 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。

D:初始值不同:

​ 成员变量:有默认初始值

​ 局部变量:没有默认值,不惜要定义,赋值,然后才能调用

注意事项:局部变量和全局变量是可以同名的,在方法中使用的时候,采用临近原则。

package Java高级06_02_面向对象;

public class VaiabDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Vaiable vaiable=new Vaiable();
		vaiable.show("1234");
		vaiable.getNum();
	}
}
	class Vaiable{
		int num;//成员变量,默认初始值为0,生命周期:随着对象的创建而生成,随着对象的消失而消失
		String yy;
		String cc;
		void show(String str) {
			System.out.println("str:"+str);//输出1234
			//我想将局部变量可以让本类的其他方法使用
			String cc="张国伟";//局部变量,没有默认初始值,生命周期随着方法的调用而生成。
			str=cc;
			System.out.println("show:"+cc);//是局部变量,输出:show:张国伟
			
		}
		int getNum() {
			System.out.println("getNum:"+cc);//是全局变量,输出:getNum:null
			return num;
		}
	}