mecanismo de serialização / desserialização

Diz, eu tenho uma aulaX que possui um valor de campo, ou seja,

class X implements Serializable {
    private int value;
    // ...
}

Além disso, possui getters e setters não exibidos aqui. Esta classe é serializada. Na desserialização, a mesma classe final possui um campo de valor e o especificador de acesso é público. Além disso, esta classe não possui getters e setters. Então, minhas perguntas são:

A desserialização falha, caso o especificador de acesso do campo seja alterado OU alguns ou todos os métodos desaparecem da classe no final da desserialização? Qual é o mecanismo pelo qual os campos recebem seus valores durante a desserialização?

questionAnswers(5)

yourAnswerToTheQuestion