Когда класс объявлен как final, можно ли клонировать или сериализовывать его объекты? Или это невозможно, потому что final предотвращает расширение подклассов, что предотвращает реализацию клонирования и сериализации?Клонирование и сериализация конечного объекта
ответ
Заключительный для классов -> Вы не можете расширить класс. Финал для объектов -> Вы не можете изменить ссылку на объект.
Serializable/cloning ---> Эти понятия предназначены для объектов. Вы реализуете интерфейс, чтобы сделать объект класса perticular Serializable/Cloneable.
Итак, да, когда класс объявлен как финал, можно выполнить сериализацию/клонирование своих объектов при условии реализации необходимых интерфейсов.
Извините, я думаю, что я объяснил это плохо. То, что я пытаюсь понять, это: С точки зрения злоумышленника, можно ли клонировать/сериализовать что-то, когда класс был объявлен окончательным? – user3007194
(С точки зрения злоумышленника ?? ..) .. Да ... Но класс должен был реализовывать необходимые интерфейсы ... – TheLostMind
OK. Итак, предполагая, что необходимые интерфейсы не были реализованы, и класс был объявлен окончательным, злоумышленник не сможет клонировать/сериализовать? Я пытаюсь написать класс, который не может быть клонирован, и мне интересно, сделает ли его окончательным, чтобы злоумышленник не делал его клонированным/сериализуемым и клонировал/сериализовал его. Извините за этот беспорядок вопроса и спасибо за ответы. – user3007194
Я думаю, что вы можете не понимать некоторые концепции ООП и их реализацию на Java.
Вы распространяете классы, в то время как вы сериализуете и клонируете объектов.
Существует Singleton
pattern, который позволяет создавать только один объект, но это совершенно другая история.
- 1. Сериализация, клонирование и заключительные гарантии (неизменность)
- 2. Как клонирование и сериализация отличаются от использования «нового» и отражения?
- 3. Клонирование объекта
- 4. Объект объекта: клонирование и вставка
- 5. OCaml: Определение объекта и клонирование
- 6. Сериализация объекта и IDisposable
- 7. Сериализация и де-сериализация объекта PublisherInterstitialAd
- 8. Для клонирования целей, когда сериализация превосходит клонирование?
- 9. Клонирование объекта Vue.js?
- 10. Клонирование объекта Java
- 11. Qt C++ - Клонирование объекта
- 12. Клонирование машинописи объекта
- 13. Клонирование объекта с закрытием
- 14. клонирование объекта в C#
- 15. Клонирование объекта в JavaScript
- 16. Копирование/клонирование частей объекта?
- 17. Клонирование объекта JavaScript?
- 18. Сериализация объекта
- 19. Сериализация объекта
- 20. Сериализация и сохранение объекта контроллера
- 21. Шифрование и JSON Сериализация объекта
- 22. JS Клонирование объекта и удаление элемента
- 23. Неглубокое клонирование и глубокое клонирование
- 24. Клонирование объекта определяется внутренним классом
- 25. Клонирование атрибутов одного объекта другому
- 26. Клонирование объекта (Перетаскивание) Flash As3
- 27. Клонирование экземпляра объекта базового типа
- 28. Клонирование объекта PHP не работает
- 29. Почему клонирование объекта Object невозможно?
- 30. Trouble глубокое клонирование объекта массива
final не имеет отношения к клонированию. Предотвращает копирование подкласса. – BevynQ