java final private_java – private final static属性vs private final属性

一般来说,静态意味着“与类型本身相关联,而不是类型的实例”。

这意味着你可以引用一个静态变量,而没有创建类型的实例,任何引用该变量的代码都是指完全相同的数据。将它与一个实例变量进行比较:在这种情况下,每个类的实例都有一个独立版本的变量。例如:

Test x = new Test();

Test y = new Test();

x.instanceVariable = 10;

y.instanceVariable = 20;

System.out.println(x.instanceVariable);

打印输出10:y.instanceVariable和x.instanceVariable是分开的,因为x和y指的是不同的对象。

你可以通过引用引用静态成员,虽然这是一个坏主意。如果我们做到:

Test x = new Test();

Test y = new Test();

x.staticVariable = 10;

y.staticVariable = 20;

System.out.println(x.staticVariable);

那么将打印出20 – 只有一个变量,而不是每个实例。它会更清楚地写为:

Test x = new Test();

Test y = new Test();

Test.staticVariable = 10;

Test.staticVariable = 20;

System.out.println(Test.staticVariable);

这使得行为更加明显。现代IDE通常建议将第二个列表更改为第三个列表。

没有理由有声明如

private final int NUMBER = 10;

如果它不能改变,没有点每个实例有一个副本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值