Классу может потребоваться объект, объявленный другим классом, в качестве собственного члена или локальной переменной в методе. Если два класса находятся в одном пакете, проблем нет. Однако, если два класса не находятся в одном пакете, это не проблема. Необходимо использовать оператор импорта.
Импортировать классы из библиотеки классов.
Используйте оператор импорта для добавления классов в пакет. При написании исходных файлов помимо самостоятельного написания классов вам часто приходится использовать множество классов, предоставляемых Java, которые могут находиться в разных пакетах.
Чтобы использовать классы, предоставляемые Java, вы можете использовать оператор импорта для введения классов в пакет. В исходной программе Java может быть несколько операторов импорта, и они должны быть написаны между оператором пакета (если оператор пакета существует) и определением класса в исходном файле. Java предоставляет около 130 пакетов.
Например:
java.lang содержит все основные языковые классы.
java.io содержит все классы ввода и вывода.
java.util содержит служебные классы
java.sql содержит классы для работы с базами данных.
java.net содержит все классы, реализующие сетевые функции.
Если вы хотите представить все классы в пакете, вы можете вместо этого использовать подстановочный знак звездочка (*), например:
importjava.util.*;//Указывает на введение всех классов в пакете java.util importjava.util.Date;//Указывает на введение класса Date в пакете java.util
Импортировать классы из пользовательских пакетов
Пользовательские программы также могут использовать оператор импорта для введения классов с именами пакетов в библиотеках, не являющихся классами, например:
импорттом.jiafei.*;
Чтобы позволить своим программам использовать классы из пакета tom.jiafei, пользователи могут указать местоположение пакета tom.jiafei в пути к классам. Предположим, что местоположением пакета tom.jiafei является C:1000, т.е. это класс с именем пакета tom.jiafei. Байт-код хранится в каталоге C:1000tomjiafei. Пользователи могут обновить значение classpath, например:
setclasspath=C:jdk1.6jrelibrt.jar;.;C:1000/* означает, что безымянный класс пакета в каталоге C:1000 может быть загружен, а дочерние каталоги в C: Каталог 1000 можно использовать в качестве имени пакета */
Если пользователь не хочет обновлять значение пути к классам, он может создать структуру подкаталогов, соответствующую пакету, в каталоге, где находится пользовательская программа.
Например: каталог, в котором находится определенный класс в пользовательской программе, — C:2000. Если этот класс хочет использовать оператор импорта для представления класса в пакете tom.jiafei, создайте структуру каталогов C:2000. tomjiafei на основе имени пакета. Нет необходимости изменять значение пути к классам, поскольку значение пути к классам по умолчанию:
C:jdk1.6jrelibrt.jar;.;/* ".;" означает, что можно загрузить безымянный класс пакета в текущем каталоге приложения и можно использовать дочерний каталог в текущем каталоге. как название пакета*/