Страницы

Поиск по вопросам

понедельник, 25 марта 2019 г.

В чём разница между «import java.util.*» и «import java.util.Scanner»

Вместо Scanner может быть что угодно - суть ясна. А именно: зачем использовать второй вариант, если первый и набирать короче, и пригодится когда понадобится что-то ещё из java.util? Изучаю Java и во многих примерах из книг и статьях в интернете используется второй вариант импорта, но нигде не видел объяснения почему именно так. Наверное, у него есть какие-то преимущества перед первым?


Ответ

Потому что в Java импорты нужны для разделения классов. Понятнее будет на примере. Допустим есть класс com.blabla.Scanner и вы написали import com.blabla.*;. А потом вам захотелось добавить импорт от java.util.Scanner и вы опять написали import java.util.*;. В этом случае, если вы в коде напишете Scanner, компилятор не поймет какой именно Scanner вам нужен. Полная запись импорта это не допустит
Помню, как-то добавил импорт от android.support.v7.widget.* и android.widget.*;. Когда я написал Toolbar IDE как раз и заругалась, так как он есть в обоих пакетах. Добавил к v7.widget.Toolbar и все.

Комментариев нет:

Отправить комментарий