Финальная статистика поля c - PullRequest
0 голосов
/ 21 января 2020

Недавно я читал о сериализации, и все выглядит довольно понятно. Значения с ключевым словом final сериализуются, значения static не сериализуются, в static transient, transient игнорируется и т. Д. Я прочитал почти все, но у меня есть один вопрос, на который я не смог найти ответ, ни в Google, ни в Переполнении стека:

Что происходит, когда данные static final? Кто из них побеждает другого? Например:

interface Foo{
    int value = 10; // by default it is public static final
}

Как будет сериализовано значение из этого интерфейса, если я реализую его в любом из моих классов? Будет ли это рассматриваться как final или static?

1 Ответ

2 голосов
/ 21 января 2020
Переменная

A stati c final не будет сериализована, поскольку, как и переменная stati c, является переменной класса, независимой от экземпляров. Модификатор final указывает только то, что как только переменная назначена, она больше не может быть изменена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...