Java импорт своих классов
Как правило, в Java классы объединяются в пакеты. Пакеты позволяют организовать классы логически в наборы. По умолчанию java уже имеет ряд встроенных пакетов, например, java.lang , java.util , java.io и т.д. Кроме того, пакеты могут иметь вложенные пакеты.
Организация классов в виде пакетов позволяет избежать конфликта имен между классами. Ведь нередки ситуации, когда разработчики называют свои классы одинаковыми именами. Принадлежность к пакету позволяет гарантировать однозначность имен.
Чтобы указать, что класс принадлежит определенному пакету, надо использовать директиву package , после которой указывается имя пакета:
Как правило, названия пакетов соответствуют физической структуре проекта, то есть организации каталогов, в которых находятся файлы с исходным кодом. А путь к файлам внутри проекта соответствует названию пакета этих файлов. Например, если классы принадлежат пакету mypack, то эти классы помещаются в проекте в папку mypack.
Классы необязательно определять в пакеты. Если для класса пакет не определен, то считается, что данный класс находится в пакете по умолчанию, который не имеет имени.
Например, создадим в папке для исходных файлов каталог study . В нем создадим файл Program.java со следующим кодом:
package study; public class Program < public static void main(String[] args) < Person kate = new Person("Kate", 32); kate.displayInfo(); >> class Person < String name; int age; Person(String name, int age)< this.name = name; this.age = age; >void displayInfo() < System.out.printf("Name: %s \t Age: %d \n", name, age); >>
Директива package study в начале файла указывает, что классы Program и Person, которые здесь определены, принадлежат пакету study.
Когда мы работаем в среде разработки, например, в Netbeans, то IDE берет на себя все вопросы компиляции пакетов и входящих в них файлов. Соответственно нам достаточно нажать на кнопку, и все будет готово. Однако если мы компилируем программу в командной строке, то мы можем столкнуться с некоторыми трудностями. Поэтому рассмотрим этот аспект.
Для компиляции программы вначале в командной строке/терминале с помощью команды cd перейдем к папке, где находится каталог study.
Например, в моем случае это каталог C:\java (то есть файл с исходным кодом расположен по пути C:\java\study\Program.java).
Для компиляции выполним команду
После этого в папке study появятся скомпилированные файлы Program.class и Person.class. Для запуска программы выполним команду:
Импорт пакетов и классов
Если нам надо использовать классы из других пакетов, то нам надо подключить эти пакеты и классы. Исключение составляют классы из пакета java.lang (например, String ), которые подключаются в программу автоматически.
Например, знакомый по прошлым темам класс Scanner находится в пакете java.util , поэтому мы можем получить к нему доступ следующим способом:
java.util.Scanner in = new java.util.Scanner(System.in);
То есть мы указываем полный путь к файлу в пакете при создании его объекта. Однако такое нагромождение имен пакетов не всегда удобно, и в качестве альтернативы мы можем импортировать пакеты и классы в проект с помощью директивы import , которая указывается после директивы package:
package study; import java.util.Scanner; // импорт класса Scanner public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); >>
Директива import указывается в самом начале кода, после чего идет имя подключаемого класса (в данном случае класса Scanner).
В примере выше мы подключили только один класс, однако пакет java.util содержит еще множество классов. И чтобы не подключать по отдельности каждый класс, мы можем сразу подключить весь пакет:
import java.util.*; // импорт всех классов из пакета java.util
Теперь мы можем использовать любой класс из пакета java.util.
Возможна ситуация, когда мы используем два класса с одним и тем же названием из двух разных пакетов, например, класс Date имеется и в пакете java.util , и в пакете java.sql . И если нам надо одновременно использовать два этих класса, то необходимо указывать полный путь к этим классам в пакете:
java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date();
Статический импорт
В java есть также особая форма импорта — статический импорт. Для этого вместе с директивой import используется модификатор static :
package study; import static java.lang.System.*; import static java.lang.Math.*; public class Program < public static void main(String[] args) < double result = sqrt(20); out.println(result); >>
Здесь происходит статический импорт классов System и Math. Эти классы имеют статические методы. Благодаря операции статического импорта мы можем использовать эти методы без названия класса. Например, писать не Math.sqrt(20) , а sqrt(20) , так как функция sqrt() , которая возвращает квадратный корень числа, является статической. (Позже мы рассмотрим статические члены класса).
То же самое в отношении класса System: в нем определен статический объект out , поэтому мы можем его использовать без указания класса.
Как подключить класс в Java, все тонкости импорта класса
В Джава присутствуют стандарты, которые регламентируют правила написания информации о классе или «пакете класса».
Вот стандартный шаблон оформления описания:
p ackage;
public class
>
При этом необходимо помнить, что в описании наименования «пакета классов» обязано присутствовать сходство с описанием наименования папки классов, где расположена структура пакетов. Допустим , у нас присутствует такая строчка: «. \src\drop\codernet\mytasks.java», тогда она будет записана в таком формате:
package drop.codernet;
public class MyTasks
>
Импорт классов в Java
Импорт классов в Java — это действие, при котором программист заимствует классы из разнообразных «классовых пакетов», предварительно указав используемые «пакеты и классы» в собственном рабочем документе.
У классов в Джава присутствует такое понятие , как «полноценное уникальное наименование класса». Оно состоит из двух частей: «наименовании класса» и «наименовании классовых пакетов». Как правило, «полноценное название класса» может быть достаточно удлиненным , к примеру: «java.until.MyArrayList», где:
- «java.until» — название « классового пакета » ;
- «MyArrayList» — название самого класса.
Причем это не самое длинное «полноценное название класса». Ведь , когда в документе тысячи классов, а уникальное название обязано быть исключительно в единственном экземпляре, тогда н ес ложно догадаться, какие длинные названия могут присутствовать в разрабатываемом документе. Но печалит не длина названи я используемых классов, а то , что их постоянно нужно использовать в коде — это ужасно неудобно и долго. Чтобы упростить эту задачу , был придуман импорт класса в Java.
Импорт класса в Java открывает уникальную возможность применять укороченное название класса вместо удлиненного. Но для этого компилятору необходимо указать, какому «полноценному уникальному названи ю класса» идентично укороченное название, используемое программистом в собственной разработке программного обеспечения.
Рассмотрим небольшой программный скрипт:
package drop.codernet.mytasks.mytask01;
import java.util.ScannerList;
import drop.testing.distruct.specialist.MyArrayList;
public class MySolution
public static void main(Strings[] args)
ScannerList console = new ScannerList(Systems.in);
MyArrayList lists = new MyArrayList();
>
>
Если не применять импорт класса Java в вышеописанном программном скрипте, тогда его код будет примерно такого формата:
package drop.codernet.mytasks.mytask01;
public class MySolution
public static void main(Strings[] args)
java.util.ScannerList console = new java.util.ScannerList(Systems.in);
drop.testing.distruct.specialist.MyArrayList lists = new drop.testing.distruct.specialist.MyArrayList();
>
>
Заключение
Импорт класса в Java является доступным способом программиста применять в собственной разработке классовые инструменты из разнообразных сторонних классовых структур, а также сокращать «полноценные уникальные названия классов» до коротких и удобных названий. По сути, импорт класса в Джава — это способ писать код чище, практичнее и быстрее.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Import Custom Class in Java
- Syntax to import class in Java
- Import custom Class in Java
- Import custom Class in Java
- Static Import Class in Java
This tutorial introduces how to import the custom class in Java.
If the class is present in the same package, then use that by creating its object, and if the class is present in another package, then we should first import the package the use its methods and variables. Let’s take a close look at the examples.
Syntax to import class in Java
Below is the syntax to import a class and static members of the class in Java.
import package.myclass; import static package.myclass; // static import
Import custom Class in Java
Let’s create a custom class ( Student ) containing two instance variables and getter and setter methods. After that, import this class into the SimpleTesting class by using the import statement. See the example below.
package myjavaproject; class Student String name; String email; public String getName() return name; > public void setName(String name) this.name = name; > public String getEmail() return email; > public void setEmail(String email) this.email = email; > >
package xyz; import myjavaproject.Student; public class SimpleTesting public static void main(String[] args) Student student = new Student(); student.setName("Rohna"); student.setEmail("rohna@xyz.com"); System.out.println(student.getName()); System.out.println(student.getEmail()); > >
Import custom Class in Java
If the class is in the same package or in the same file, then we don’t need to import that but simply use it by creating an object of this class. See the example below.
package myjavaproject; public class SimpleTesting extends Thread public static void main(String[] args) Student student = new Student(); student.setName("Rohna"); student.setEmail("rohna@xyz.com"); System.out.println(student.getName()); System.out.println(student.getEmail()); > >
Static Import Class in Java
In case we only want to import static members of the class, we can use the static import concept. We need to use the static keyword with the import statement. See the example below.
import static java.lang.Math.*; public class SimpleTesting public static void main(String[] args) int a = 10; double b = ceil(a); System.out.println(b); > >