java 实例的生命周期_Java枚举实例的生命周期

据我所知,每个枚举类型的预定义常量只有一个实例.那是对的吗?现在,假设存在一个名为enum的值的实例变量,并假设ONE是预定义的常量.如果为(1)实例修改了值,则会影响所有引用ONE的变量.但是当垃圾收集器摆脱枚举的所有实例时,值的值会发生什么?他们甚至被扔掉了吗?

这是一个简单的例子,其中有两个变量A和B,都指的是ONE.在第一次使用B之前,值的值被否定.如果垃圾收集器已经在行号B = Number.ONE;之前删除了ONE的实例,那么值的值将被“重置”回到1,我猜想.它是否正确?

枚举:

public enum Number

{

ONE(1), TWO(2), THREE(3);

int value;

Number(int value) { this.value = value; }

void negate() { value = -value; }

@Override

public String toString() { return "value: " + value; }

}

主要方法:

public static void main(String[] args)

{

Number A = Number.ONE;

A.negate();

Number B = Number.ONE;

System.out.println(A + " " + B);

}

输出:

value: -1 value: -1

所以我的问题是,输出是否可以如下(如果说A = null;在使用B之前添加)?

value: -1 value: 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值