Java基础--成员变量和局部变量(区别、重名问题)

成员变量和局部变量

注:所有的变量没有赋值是不能使用的!!!
两者的区别:
   定义的位置不同:
   		成员变量:定义在类中成员位置的变量,称为实例变量 / 类变量,在类中方法外
   		局部变量:定义在类中方法中
   	作用范围不同:
   		成员变量:本类中都可以用
   		局部变量:从定义行开始到所在的最近的代码块结束(作用域)
   	内存位置不同:
   		成员变量:位于栈内存的方法中
   		局部变量:位于堆内存的对象中
   	生命周期不同:
   		成员变量:随着对象的创建而诞生,随着对象的消失而消失
   		局部变量:随着方法进栈而诞生,随着方法出栈而消失
   	默认值不同:
   		成员变量:有默认值,和数组元素的默认值一样
   		        引用数据类型:  null
   		        基本数据类型: 
   		              整数类型: 0
   		              小数类型: 0.0
   		              字符类型:空字符 即 '\u0000'
   		              布尔类型:false
   		 局部变量:没有默认值,不进行手动赋值就没法使用

关于重名问题:

1. 局部变量与局部变量之间,在重合作用于方位内不能重名;
2. 成员变量与成员变量之间不能重名;
3. 成员变量与局部变量之间可以重名,但是调用时优先使用局部变量,
   实例使用中,可以用this关键字来区分成员变量和局部变量。   		    

猜你喜欢

转载自blog.csdn.net/qq_41401295/article/details/106267182