2016-12-23 9 views
1

Я хочу реализовать функцию, которая расширяет BaseOperations, и я получаю исключение, если у моего класса есть член, который не является сериализуемым. Почему функция должна быть сериализована? Можно ли использовать java transient с этим членом? нормально ли использовать статические элементы в моей функции?Почему каскадный BaseOperation расширяется сериализуемым?

ответ

0

При размещении вопроса, подобного этому, делитесь своим кодом и ошибкой точным способом.

Когда вы объявляете переменную как переходную, тогда переменная не может быть постоянной. Поэтому вы не можете сериализовать его. Статические поля не используются для представления состояния объекта. Статические поля представляют состояние класса. Если вы действительно хотите сериализовать, возможно, вам придется разработать собственный сериализатор/десериализатор.

Если класс имеет переменную и методы, которые содержат и изменяют состояние, тогда полезно сериализовать его. Если переменные значения меняются, значит, изменяется его состояние. Также обратите внимание, что класс BaseOperation является абстрактным классом, поэтому любой другой класс, который делает BaseOperation своим родительским классом, автоматически будет иметь сериализацию.

 Смежные вопросы

  • Нет связанных вопросов^_^