Java
中变量的分类分为:成员变量和局部变量。如图:
-
成员变量
成员变量是类里定义的变量,但在方法、构造方法和语句块之外。
其包括实例变量和类变量:
-
实例变量:
作用域与对应实例的生存范围相同,访问修饰符可以修饰实例变量。
-
类变量:
作用域与这个类的生存范围相同,静态变量可以通过:ClassName.VariableName的方式访问。
代码示例:
-
局部变量
局部变量是方法、构造方法或语句块里定义的变量。
其包括形参、方法局部变量、代码块局部变量:
-
形参:
定义方法签名时定义的局部变量,作用域在整个方法内有效。
-
方法局部变量:
方法体内定义的局部变量,作用域是从定义该变量的地方生效,到该方法结束时失效。
-
代码块局部变量:
代码块中定义的局部变量,作用域从定义该变量的地方生效,到该代码块结束时失效。
示例代码:
-
成员变量与局部变量的区别
成员变量:
-
成员变量定义在类中,在整个类中都可以被访问。
-
成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。
-
成员变量有默认初始化值,如:数值型变量的默认值是
0
,布尔型变量的默认值是
false
,引用类型变量的默认值是
null
。
局部变量:
-
局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。
-
局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。
-
局部变量没有默认初始化值。
版权声明:本文为weixin_44587257原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。