Клонирование Object'ов с модификатором final

292
10 ноября 2017, 07:37

Будет ли final клон другого final объекта. Клонирование реализовано с помощю интерфейса Clonable.

Answer 1

Если в классе копируемого объекта все поля final - да клонируемый объект будет неизменяемый.

class Original impl Clonable{
private final Object obj;
Original(Object obj){
     this.obj=obj;
}
Original clone(){
      return new Original(this.obj);
}

данный объект неизменяемый (все поля final) при копировании возвращается новый неизменяемый объект

Если вы про клонирование объекта и будет ли переменная содержащая этот объект final, то все зависит от её объявления.

final Object clone = original.clone(); - переменная объекта final

READ ALSO
Как записать данные в файл с консоли

Как записать данные в файл с консоли

Мне надо создать метод, который будет записывать все содержимое введенное пользователем с консоли в файл по заданному пути, не перезаписывая...

329
Почему объект String не передаётся по ссылке

Почему объект String не передаётся по ссылке

Доброго времени сутокВ консоль данный код выводит: "slipstream slip stream", а не "slipstream slipstream stream" как я предполагал

304
Как сделать поиск по нескольким полям таблицы

Как сделать поиск по нескольким полям таблицы

на данный момент поиск работает отдельно по каждому полю (для каждого поля создан свой сервлет, и страница jsp для вывода данных) с помощью...

294