java - 最终静态字段序列化

标签 java serialization interface static final

最近,我一直在阅读有关序列化的内容,一切看起来都很容易理解。带有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/

相关文章:

java - 具有相同方法名称的两个接口(interface),当我覆盖时会发生什么?

Java正则表达式用点替换css类字符串中的空格

没有库的 Java jar 文件

java - 使用 install4j api 以编程方式下载并安装更新

c# - CollectionDataContract序列化未添加自定义属性(DataMember)

c# - 获取序列化异常 : '<>f__AnonymousType2` is not marked as serializable

android - 使按钮更容易点击

java - AlertDialog 内的 TextWatcher 不工作

java - 如何使用DataOutputStream和DataInputStream进行序列化/反序列化?

c# - 为什么我需要接口(interface)?