Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
来源:互联网 发布:淘宝客户vip设置 编辑:程序博客网 时间:2024/05/22 06:44
转载:点击打开链接
在Java中,一个类体由2部分构成:
一部分是变量的定义;
一部分是方法的定义(一个类中可以有多个方法)
Java中的变量可以分为成员变量,全局变量
成员变量和局部变量的区别
成员变量:(类似于C中的全局变量的概念,所以也可以说是全局变量)
①成员变量定义在类中,在整个类中都可以被访问。
②成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。
③成员变量有默认初始化值。
局部变量:
①局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。
②局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。
③局部变量没有默认初始化值
在使用变量时需要遵循的原则为:就近原则
首先在局部范围找,有就使用;接着在成员位置找。
静态变量(也叫做类变量,类属性)
由static修饰的变量称为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。
成员变量和静态变量的区别
1、两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象被回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。
2、调用方式不同
成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。
3、别名不同
成员变量也称为实例变量。
静态变量也称为类变量。
4、数据存储位置不同
成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
列表对比:
成员变量、局部变量、静态变量的区别
成员变量
局部变量
静态变量
定义位置
在类中,方法外
方法中,或者方法的形式参数
在类中,方法外
初始化值
有默认初始化值
无,先定义,赋值后才能使用
有默认初始化值
调用方式
对象调用
---
对象调用,类名调用
存储位置
堆中
栈中
方法区
生命周期
与对象共存亡
与方法共存亡
与类共存亡
别名
实例变量
---
类变量
class Demo{ <span style="white-space:pre"> </span>int x;// 非静态成员变量,又称为属性,对该类不同的对象来说,属性是不同的 <span style="white-space:pre"> </span>static int y;// 静态成员变量,一个类中只有一个该变量,该类不同的对象共享同一个静态成员变量 <span style="white-space:pre"> </span>public static void main(String[] args){ <span style="white-space:pre"> </span>int m = 0;// 局部变量,是方法内部定义的变量,只在方法内部可见,在该方法结束后,由垃圾回收器自动回收 <span style="white-space:pre"> </span>} }
Java中的方法可以分为成员方法,全局方法,构造方法
public class Test { private int age; //这是成员变量 public Test(int age) { //这是构造方法 this.age = age; } public void setAge(int age) { //这是成员方法 this.age = age; } public static int getAge() { //这是全局方法,加了static关键字,成员方法就变成了全局方法 return this.age; } }
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- 静态方法 实例成员变量 静态成员变量 局部变量
- java中成员变量、局部变量、静态变量的区别
- java方法 成员变量 局部变量概述
- Java静态变量与静态方法与成员变量成员方法的区别
- java 成员变量 局部变量 静态变量
- java 成员变量、局部变量、静态变量
- 成员变量、局部变量、静态变量的区别及
- 静态变量 成员变量 局部变量三者的区别
- 成员变量、局部变量和静态变量的区别
- 成员变量\局部变量\静态变量的区别
- 成员变量、局部变量、静态变量的区别
- 成员变量局部变量和静态变量的区别
- Java 成员变量 局部变量 静态变量的比较
- 成员变量和局部变量的区别,静态变量和成员变量的区别
- CentOS中使用VeraCrypt(三):不使用向导创建加密磁盘
- StringUtils中 isNotEmpty 和isNotBlank的区别
- 【NOI导刊】黑匣子
- Xcode自带工具symbolicatecrash解析iOS Crash文件
- Java Socket实现文件传输示例代码
- Java成员变量、局部变量、静态变量、成员方法、全局方法等概念的区别
- 在MacOS和iOS系统中使用OpenCV
- gcc的使用
- Weex学习分享
- JavaScript设置百度网盘的分享密码的关键代码
- CentOS7 设置中文和中文输入法显示的问题
- 1049. Counting Ones (30) 从1到n整数中1出现的次数
- JAVA中Collection、List、Map、Set的区别与使用
- OC des加密算法算法实现