Java中成员变量和局部变量之间有什么区别呢?
下文笔者讲述"成员变量和局部变量"的区别说明,如下所示
成员变量和局部变量的区别
区别1:
作用范围不同:
成员变量:作用范围是整个类
类似于全局变量
定义在方法体和语句块之外
在java中定义在类的声明之下
成员变量:包括实例变量和静态变量(类变量)
实例变量:
在方法之外的变量,无static修饰,
实例变量的定义方法
声明在一个类中,但在方法、构造方法和语句块之外,
数值型变量默认值为0,布尔型默认值为false,引用类型默认值为null;
区别2:
所使用的修饰符不同
静态变量(类变量):独立于方法之外的变量
使用static修饰,默认值与实例变量相似
一个类中只有一个static,并且所有对象都可使用
区别3:
调用方法不同
实例变量:使用 类名.***方法/属性
成员变量和局部变量区别
| 成员变量 | 局部变量 |
| 作用域 | 作用范围是整个类 在方法或者语句块内有效 |
| 存储位置和生命周期 | 随着对象的创建而存在,随着对象的消失而消失,存储在堆内存中 在方法被调用的时候存在,方法调用完会自动释放,存储在栈内存中 |
| 初始值 | 有默认初始值 没有默认初始值 使用前必须赋值 |
| 使用原则 | 就近原则,首先在局部位置找 有就使用;接着在成员位置找 |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


