Я импортирую пакет (в моем случае, mongodb.DB) в java файл с одинаково названным классом.
В python я знаю, что я могу импортировать модуль как другое имя, чтобы избежать конфликтов. Как Java решает эту проблему?
Невозможно изменить имя класса, в котором я работаю.
Вы говорите, что вы "импортируете пакет..." - вы имеете в виду, что вы импортируете все классы в пакете, например "abc *"? Если это так, ответ может заключаться в том, чтобы импортировать только те классы, которые вам нужны, а не весь пакет.
Невозможно импортировать класс в качестве другого класса.
Надеюсь, вы на самом деле не имеете в виду "одинаково названные", как в обоих из них, имеющих одинаковое полное имя. Если это случай, вы ввернуты, я не знаю, что вы можете сделать. Надеюсь, вы просто имеете в виду, что имя класса одинаково в двух разных пакетах.
Вы можете расширить класс своим классом и использовать свой новый класс вместо одного. Другими словами, если вы импортируете класс D, как в abcD, и есть еще один класс D, вы можете расширить первый из них (класс Z extends abcD), а затем ссылаться на него как на Z, а не на D. Вы можете необходимо предоставить конструкторы для Z, которые совпадают с D в D, но никакой код не требуется, кроме этого.
И полностью квалифицированные имена классов всегда будут работать.
Вы можете использовать полное имя "mongodb.DB" вместо имени класса.