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