JAVA基础-02实例变量和类变量区别

0x00 类变量

类变量(Class Variables),也称为静态变量(Static Variables),是在类级别声明的变量,与类的所有实例共享相同的值。与实例变量不同,类变量不属于对象的特定实例,而是属于整个类。类变量在类加载时被初始化,并且在类的所有实例之间共享相同的值。

类变量通常用于存储与整个类相关的数据,如常量、共享配置、计数器等。它们可以在类的任何方法中访问,并且无需创建类的实例即可访问。

0x01 实例变量

实例变量(Instance Variables)是在类的实例(对象)中定义的变量,每个类的实例都有一份独立的实例变量副本。它们用于存储对象的特定状态和数据,不同的对象可以有不同的实例变量值。实例变量通常在类的成员变量部分声明,而不是在方法内部。

0x02 类变量和实例变量的区别

2.1 作用范围:

实例变量:每个类的实例(对象)都有一份独立的实例变量副本,它们的值在每个对象之间可以不同。
类变量:类变量在整个类中只有一个副本,所有对象共享相同的类变量值。

2.2 初始化:

实例变量:实例变量通常在对象创建时通过构造方法初始化。每个对象可以具有不同的初始值。
类变量:类变量在类加载时被初始化,通常在类定义中赋初值。

2.3 访问方式:

实例变量:实例变量通过对象访问,即 对象名.实例变量名。
类变量:类变量可以通过类名直接访问,即 类名.类变量名。

2.4 作用域:

实例变量:实例变量的作用域限制在声明它们的类的实例中,每个对象都有自己的实例变量。
类变量:类变量的作用域在整个类内部,所有对象共享相同的类变量。

2.5 生命周期:

实例变量:实例变量的生命周期与对象的生命周期相同。当对象被垃圾回收时,实例变量也会被销毁。
类变量:类变量的生命周期在整个程序运行期间,只有在类被卸载时才会被销毁。

2.6 用途:

实例变量:用于存储每个对象的状态和数据,适合表示对象的属性。
类变量:用于存储与整个类相关的信息,例如共享的配置、常量等。

0x03 代码分析

让我们通过一个示例来更详细地说明实例变量和类变量之间的区别:

假设我们有一个名为 Person 的类,用于表示人员信息。我们可以在这个类中使用实例变量和类变量来表示人员的不同属性。

public class Perso
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值