![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| anonymouse |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 18.8.2004 Репутация: нет Всего: 1 |
А это абстрактный класс или интерфейс. Проблема состоит в том что эта часть кода должна компилироваться в Java 1.3,1.4,1.5, но классы A и B в версии 1.3 не существуют. Как мне это реализовать. С помощью рефлекшион не получается из-за абстрактного класса. Заранее благодарен Это сообщение отредактировал(а) anonymouse - 6.8.2007, 09:37 --------------------
Много чего интересного... |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Самый правильный вариант - писать под 1.3 и использовать только то, что есть в нем. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| anonymouse |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 18.8.2004 Репутация: нет Всего: 1 |
Это большой проект работающий стандартно 1.4. Но есть старые машины на платформе IBM. Там может быть только 1.3. Этот кусок будет использоваться только как фича, т.е. на 1.3 он работать не будет. Но важно чтобы он компилировался. Обычно эту проблему решают с помощью рефлекшиона Class.forName(...), но в данном случае, используется абстрактный класс. Неужели в модели Java-рефлекшн, ничего подобного не было реализовано ?
--------------------
Много чего интересного... |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Вообще, у нас в коде индусы где-то создавали экземпляр абстрактного класса, сейчас покопаюсь...
Добавлено через 4 минуты и 44 секунды Не могу найти... -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| anonymouse |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 18.8.2004 Репутация: нет Всего: 1 |
Ну спасибо, ты считаешь что такой фигней только индусы занимаються Судя по всему через рефлекшион этого сделать никак нельзя. Придеться фейк класс писать. Это сообщение отредактировал(а) anonymouse - 6.8.2007, 13:15 --------------------
Много чего интересного... |
|||
|
||||
| AlexeyVorotnikov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
Абстрактный класс на то он и абстрактный, что создать его экземпляр невозможно даже теоретически.
Уточните всё-таки постановку задачи. -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
AlexeyVorotnikov, через рефлекшн - можно было, по крайней мере, до 4-й Явы. Видел.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Посмотрел JavaDoc по JDK 1.1, и там написано:
Ты уверен, что они создавали именно абстрактный класс? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Да. Когда мы этот фрагмент увидели, у меня волосы дыбом встали, такое не забывается Возможно, инстанцированию предшестовали некие махинации с абстракными методами, не знаю. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| math64 |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Этот кусок кода и все другие которые работают под 1.4 выносишь и компилируешь под 1.4
Остальное компилируешь через 1.3 а для вызова кода 1.4 используешь Class.forName(). Возможно потребуются вспомогательные интерфейсы или абстратктые классы.
В итоге получатся 2 jar'а: один для 1.3, другой - расширения для 1.4 При использовании 1.4 второй jar включить в classpath или слить два jar в один. |
||||||||
|
|||||||||
| AlexeyVorotnikov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 10 Всего: 18 |
Всё равно не могу себе представить как это может быть сделано. Где-то здесь что-то не так. -------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |