| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Копирование класса |
| Автор: axod 20.3.2005, 13:09 |
| как скопировать класс..... НЕ скопировать указатель а именнт класс Варриант Class a = new Class(); Class b = a; но это не проканывает. ? |
| Автор: ZAVS 20.3.2005, 14:32 |
| для скопирования обьектов есть метод clone(); он объявлен в классе Object , от которого все наследуют, но для своих классов ты должен переписать его |
| Автор: LSD 20.3.2005, 14:39 |
| Для каждого загруженного класса JVM создает экземпляр объекта java.lang.Class. Такой объект существует в единственном экземпляре (для каждого класса) и создается только JVM. А зачем это нужно? |
| Автор: axod 20.3.2005, 15:30 |
| Вообще как-нибудь без clone() я так знаю, но так мне не надо. Просто на создание объекта класса уходит время, ну а просто коопированием будет быстрее. (Скажем прога должна работать очень быстро) Ну если можно вообще такое сделать, если нет то просто придётся для этого свой класс придумывать. |
| Автор: LSD 20.3.2005, 15:56 | ||||
Для создания копии объекта и предназначен метод clone(). В простейшем случае это выглядит так:
Посмотри у Брюса Эткеля там у него это хорошо объясняется. |
| Автор: axod 20.3.2005, 17:20 |
| Вообще кроме clone() нету разве ничего нету другого? |
| Автор: Domestic Cat 20.3.2005, 18:57 |
| Для начала объясни, почему ты считаешь, что создание объекта - настолько медленная операция что нужно что-то еще. |
| Автор: batigoal 20.3.2005, 21:15 |
| Так копировать надо объект или класс, как указано в топике? |
| Автор: Guest 20.3.2005, 23:12 | ||
|
| Автор: Domestic Cat 20.3.2005, 23:21 | ||
Это неправильный подход; и в очередной раз я вынужден попросить соблюдать соглашения об именовании в Java. |
| Автор: batigoal 21.3.2005, 10:43 | ||
И чем это быстрее??? Все равно точно так же создается объект. Кроме того, это ведь и есть, по сути, метод clone. |
| Автор: axod 21.3.2005, 16:12 |
| Вообще умоляю НЕ ПЕРЕКИДЫВАЙТЕ ТЕМУ НА ДРУГОЙ ФОРУМ дело в том что это мне необходимо под J2ME WTK а там нету метода clone() и время создания ВСЕГО на вес золота |
| Автор: batigoal 21.3.2005, 16:28 | ||
Мне кажется, что без переопределения clone() все равно не обойтись. Как можно создать копию объекта, не создавая второй объект? Навряд ли это можно как-то ускорить.
Значит, надо его сделать. |
| Автор: kashka 21.3.2005, 16:43 |
| Придется тебевсе таки метод clone() самому писать иначе ни как нельзя. В J2ME нет встроенной возможности скопировать класс, по моему. А что у тебя так много ресурсов требуется и для какого ты телефона пишешь? |
| Автор: axod 21.3.2005, 19:31 |
| тогда скажите плиз по какой схеме работает метод clone() спасибо |
| Автор: Domestic Cat 21.3.2005, 19:42 |
| http://forum.vingrad.ru/index.php?showtopic=27306&hl=clone |
| Автор: kashka 22.3.2005, 12:42 |
| Берешь свой класс определяешь в нем метод clone(), в етом методе создаешь новый объект и копируешь все поля старого объекта в новый. |