В терминах "Layman" мне было интересно, может ли кто-нибудь объяснить мне важность и общую важность импорта класса Serializable для реализации интерфейса java.io.Serializable. спросил у студента java
Каково значение класса java.io.Serializable?
Ответ 1
java.io.Serializable
- это то, что известно как "интерфейс маркера". Сам интерфейс не имеет методов, определенных в нем. Поэтому любой класс может легко реализовать этот интерфейс, просто выполнив его:
public class MyClass implements Serializable {
public void aMethodForMyClass() { }
// not implementing any specific java.io.Serializable methods because
// the interface has no methods to implement.
}
Это "маркерный" интерфейс, потому что, реализуя этот интерфейс, вы говорите Java-сериализатору, что это нормально для сериализации объектов этого типа. Если ваш класс не реализует этот интерфейс, сериализатор откажется сериализовать любые объекты этого типа.
Ответ 2
Все, что вам нужно знать о Java Serialization, можно найти в Java Serialization Specification
Часто задаваемые вопросы о сериализации Java также содержит ответ на ваш вопрос.
В частности, первый вопрос кажется таким же, как вы спрашиваете:
Почему классы должны быть помечены сериализуемыми для записи в ObjectOutputStream?
Я надеюсь, что это поможет!