Как ведут себя конфликтующие импорты?
Классы, входящие в текущий используемый пакет можно использовать без импорта. При импорте class, идентичного по имени с соседним по пакету, он будет перекрыт. В таком случае будет использоваться импортированный class, при этом никакой ошибки компилятор не выдаст.
Если в одном классе будет присутствовать некоторое количество классов с идентичными названиями при компиляции возникнет ошибка.
Если импортировать класс не один раз, раз то приложение будет скомпилировано, но компилятор выдаст предупреждение о том, что есть неиспользуемый в приложении импорт.
Для static-импортов применяются те же инструкции. Простые импорты не должны конфликтовать со static.
Если требуется использовать некоторое количество классов или констант, с совпадающим названием, то обращаться к ним придётся по полным названиям. Импорты использовать не получится.
import ru.ievetrov.A;
import static ru.ievetrov.Letters.A;
class Test {
void test() {
// Никаких ошибок!
A letterAVariable = new A();
var enumElement = A;
}
}
Peer-to-peer собеседования
AI Sprints — обучение профессиям с ИИ
Практика собеседований с менторами и другими студентами. Реальные вопросы по Kotlin, Android и Backend
- Живые собеседования: практикуйте интервью с менторами и коллегами-студентами
- Реальные вопросы: база вопросов по Kotlin, Android, Backend и QA
- Фидбек: обратная связь после каждого собеседования — знаете, что улучшить
AI Challenge — собери чат-бота за 5 дней
Бесплатный марафон по AI-инжинирингу. Cursor + OpenAI, 60 минут в день — без опыта в программировании. К пятнице у вас будет рабочий чат-бот с памятью в браузере.
- Практика с первого дня, без теории «в стол»
- Готовый проект в портфолио к концу недели
- Старт в любой день — учитесь в своём темпе