最近,我一直在阅读有关序列化的内容,一切看起来都很容易理解。带有final
关键字的值被序列化,static
值不被序列化,在statictransient
中,transient
被忽略等等等等。我已经阅读了几乎所有内容,但我有一个问题,我无法在 google 或 Stack Overflow 上找到答案:
当数据是静态最终
时会发生什么?他们中的哪一个战胜了另一个?例如:
interface Foo{
int value = 10; // by default it is public static final
}
如果我在任何类中实现该接口(interface)的值,将如何序列化该值?它将被视为final
还是static
?
最佳答案
static Final 变量不会被序列化,因为就像 static 变量一样,它是一个独立于实例的类变量。 final 修饰符仅声明变量一旦被赋值,就不能再更改
关于java - 最终静态字段序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59848297/