Файл: Что такое потоки вводавывода Как это реализовано в Java Что делает метод read.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 9

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Метод clone, интерфейс Cloneable.

Интерфейс Cloneable – это так называемый интерфейс-маркер, который не содержит никаких методов. Он используется, чтобы маркировать (помечать) некоторые классы.

При вызове метода clone(), Java проверяет, был ли у объекта интерфейс Cloneable. Если да — клонирует объект методом clone(), если нет — выкидывает исключение CloneNotSupportedException.

а) Добавить интерфейс Cloneable своему классу

б) Переопределить метод clone и вызвать в нем базовую реализацию




  • Как удалить директорию с файлами?

Удаление каталога в Java. Как и в случае с обычными файлами (не каталогами), каталог можно удалить с помощью метода File.delete(). Однако, необходимо иметь в виду, что для того, чтобы операция удаления прошла успешно необходимо, чтобы каталог был пуст. Такое поведение часто вызывает неудобство, потому что в большинстве случаев, когда мы хотим удалить каталог, мы ожидаем, что будет выполнено рекурсивное удаление, то есть удаление со всеми вложенными файлами и каталогами.

  • В чём разница между поверхностным и глубоким клонированием? Как реализовать глубокое клонирование?

По сути, есть только два основных различия, и они связаны друг с другом:

При глубоком копирование новый объект хранит копии значений объекта, тогда как при поверхностным копирование новый объект хранить ссылки на исходный адрес памяти

Глубокая копия не отражает изменения, внесенные в новый/скопированный объект в исходном объекте; в то время как поверхностная копия отражает

  • Что такое сериализация и десериализация?

Сериализация — это процесс сохранения состояния объекта в последовательность байт. Десериализация — это процесс восстановления объекта из этих байт. Любой Java-объект преобразуется в последовательность байт.

  • Какие поля не сериализуются?

При стандартной сериализации поля, имеющие модификатор static, не сериализуются. Соответственно, после десериализации это поле значения не меняет. При использовании реализации Externalizable сериализовать и десериализовать статическое поле можно, но не рекомендуется этого делать, т.к. это может сопровождаться трудноуловимыми ошибками.

Поля с модификатором final сериализуются как и обычные.

  • Как сериализовать статическое поле?

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