Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
237 / 237 / 49
Регистрация: 19.01.2013
Сообщений: 1,883
Записей в блоге: 3
1

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

18.07.2017, 16:25. Просмотров 235. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2017, 16:25
Ответы с готовыми решениями:

Как использовать класс Cashemanager?
для чего применяется\ класс Cashemanager как при помощи его методов сохранить...

Как объявить статический класс?
В Android Studio заметил интересную вещь, есть некий класс...

Как использовать класс Dictionary?
доброго времени суток форумчане! Пожалуйста помогите!!! Как использовать класс...

Как наследовать класс activity
Написал класс activity1 в котором программно создан layout1. Как использовать...

Как изменить дефолтный класс в eclipse?
Вот есть, например, Log.class, с помощью которого мы показываем логи...

1
shavuz
114 / 120 / 26
Регистрация: 29.01.2014
Сообщений: 596
19.07.2017, 11:34 2
Ничего не понятно из вашего кода, просто клонабл класс
вот так клонируют:
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2017, 11:34

Как передать ссылку по клику в другой класс?
как передать ссылку по клику в другой класс есть класс парсера вот часть...

Класс Date, как правильно задать дату?
public class MainActivity extends ActionBarActivity { TextView Text; ...

Как организовать класс для работы с несколькими таблицами
private class DbOpenHelper extends SQLiteOpenHelper{ public...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru