«Импорт […] конфликтует с типом, определенным в том же файле» ошибка [Java]

1

Я импортирую пакет (в моем случае, mongodb.DB) в java файл с одинаково названным классом.

В python я знаю, что я могу импортировать модуль как другое имя, чтобы избежать конфликтов. Как Java решает эту проблему?

Невозможно изменить имя класса, в котором я работаю.

Теги:

2 ответа

1
Лучший ответ

Вы говорите, что вы "импортируете пакет..." - вы имеете в виду, что вы импортируете все классы в пакете, например "abc *"? Если это так, ответ может заключаться в том, чтобы импортировать только те классы, которые вам нужны, а не весь пакет.

Невозможно импортировать класс в качестве другого класса.

Надеюсь, вы на самом деле не имеете в виду "одинаково названные", как в обоих из них, имеющих одинаковое полное имя. Если это случай, вы ввернуты, я не знаю, что вы можете сделать. Надеюсь, вы просто имеете в виду, что имя класса одинаково в двух разных пакетах.

Вы можете расширить класс своим классом и использовать свой новый класс вместо одного. Другими словами, если вы импортируете класс D, как в abcD, и есть еще один класс D, вы можете расширить первый из них (класс Z extends abcD), а затем ссылаться на него как на Z, а не на D. Вы можете необходимо предоставить конструкторы для Z, которые совпадают с D в D, но никакой код не требуется, кроме этого.

И полностью квалифицированные имена классов всегда будут работать.

0

Вы можете использовать полное имя "mongodb.DB" вместо имени класса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню