虽然从入门的时候就知道
final字段是不可能变字段
static字段是静态字段所有实例都共享这一个字段的值
但是有一个事情一直没搞清,就是既然 final的值不可变,那所有的实例对final字段的获取都是一样,那为什么还有必要用static final 这样重复的关键字
直到后面看见以下定义
这样的定义类在加载的时候会初始化d字段,但是由于使用随机数,我们可以很清楚的看见生成的2个实现中每一个d的值都不一样。
所以这时候使用
就可以使所有实现中fs值相同。
final字段是不可能变字段
static字段是静态字段所有实例都共享这一个字段的值
但是有一个事情一直没搞清,就是既然 final的值不可变,那所有的实例对final字段的获取都是一样,那为什么还有必要用static final 这样重复的关键字
直到后面看见以下定义
public final double d = Math.random();
这样的定义类在加载的时候会初始化d字段,但是由于使用随机数,我们可以很清楚的看见生成的2个实现中每一个d的值都不一样。
所以这时候使用
public final static double fs = Math.random();
就可以使所有实现中fs值相同。
本文探讨了final与static关键字在Java中的使用区别。通过实例解释了final字段如何确保值不可变,而static关键字则用于创建所有实例共享的字段。特别讨论了两者结合使用的情况,并通过随机数生成的例子说明其具体应用。
1241

被折叠的 条评论
为什么被折叠?



