Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Android
245 / 242 / 52
Регистрация: 19.01.2013
Сообщений: 1,896
Записей в блоге: 3

Как клонировать класс

18.07.2017, 16:25. Показов 635. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется класс

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class ClassA implement Cloneable{
public ClassH h;
public ClassN n;
 
public Object clone() throws CloneNotSupportedException {
    return super.clone();
}
}
 
 
public static class ClassN {
 //bla bla этот класс статический
}

Пробую клонировать методом clone но нечего не клонируется.. Изменяя "клон" изменяется и оригинал..

Подскажите пожалуйста как реализовать клонирование в моем случае?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.07.2017, 16:25
Ответы с готовыми решениями:

Как клонировать класс?
Необходимо создать копию данного класса в новый экземляр, чтобы потом поместить его в коллекцию для дальнейшей с ним работы. Каким образом...

Как клонировать класс Chart
Как клонировать класс Chart, если в нём нету интерфейса ICloneable?

Как клонировать матрицы?
Предложите систему клонирования матриц, размерность и диапазон указывается пользователем

1
114 / 120 / 26
Регистрация: 29.01.2014
Сообщений: 609
19.07.2017, 11:34
Ничего не понятно из вашего кода, просто клонабл класс
вот так клонируют:
Java
1
2
3
4
5
6
7
8
9
10
        try
        {
            Account a1 = new Account("Test", 1);
            Log.i(LOG_TAG, a1.toString());
            Account a2 = (Account) a1.clone();
            Log.i(LOG_TAG, "clone: " + a2.toString());
        } catch (CloneNotSupportedException e)
        {
            e.printStackTrace();
        }
а это клас клонабл:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Account implements Cloneable
{
 
    private String mName;
    private int mId;
 
    Account(String name, int id)
    {
        mName = name;
        mId = id;
    }
 
    @Override
    public String toString()
    {
        return "name: " + mName + " id: " + mId;
    }
 
    @Override
    protected Object clone() throws CloneNotSupportedException
    {
        return super.clone();
    }
}

Вообще , смысла особо нет в использовании клонабл, можно самому написать функцию клонирования класса и пользоваться ей.
Как то так:
Java
1
2
3
4
public Account getClone()
    {
        return new Account(mName, mId);
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.07.2017, 11:34
Помогаю со студенческими работами здесь

Как клонировать кнопку?
всем привет,скажите как в windows forms сделать так что бы ,ну вот допустим у меня есть кнопка button 4,как сделать так что бы с button...

Как клонировать систему?
Здравствуйте уважаемые сатанисты (шучу) Имеется ~ 60 компьютеров с не схожим железом. Отличаются они объемом HDD, RAM, файловой...

Как клонировать спрайт?
SFML. Как клонировать спрайт?

Как клонировать диск с МАС ОС?
Есть 1 физический хард с МАС mini 2014, на 500гб. И есть SSD 250гб. Задача клонировать диск мак на ssd. Забитость раздела невелика, так...

Как клонировать Beckhoff BC9000?
Есть несколько одинаковых агрегатов с контроллером на базе Beckhoff BC9000. У одного перестал работать собственно сам BC9000. Есть новый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru