Программирование на языке Java Имена и Пакеты Имена. Пакеты Имена используются в программе для доступа к объявленным ранее "объектам", "элементам", "конструкциям" языка. В Java имеются имена: пакеты классы; интерфейсы; элементы ссылочных типов (поля; методы; внутренние классы и интерфейсы;) аргументы (методов; конструкторов; обработчиков ошибок; ) локальные переменные. Пакеты Пакеты (packages) в Java – это способ логически группировать классы, что необходимо, поскольку зачастую количество классов в системе составляет несколько тысяч, или даже десятков тысяч. Кроме классов и интерфейсов в пакетах, могут находиться вложенные пакеты. Синонимами этого слова в других языках являются библиотека или модуль. Простые и составные имена Имена бывают простыми (simple), состоящими из одного идентификатора (они определяются во время объявления) и составными (qualified), состоящими из последовательности идентификаторов, разделенных точкой. Элементы У пакетов и ссылочных типов (классов, интерфейсов, массивов) есть элементы (members). Доступ к элементам осуществляется с помощью выражения, состоящего из имен, например, пакета и класса, разделенных точкой. Элементами пакета являются содержащиеся в нем классы и интерфейсы, а также вложенные пакеты. Простые и составные имена Чтобы получить составное имя пакета, необходимо к полному имени пакета, в котором он располагается, добавить точку, а затем его собственное простое имя. Например, составное имя основного пакета языка Java – java.lang (то есть простое имя этого пакета lang, и он находится в объемлющем пакете java). Внутри него есть вложенный пакет, предназначенный для типов технологии reflect. Составное имя – java.lang.reflect. Простые и составные имена Для ссылочных типов элементами являются поля и методы, а также внутренние типы (классы и интерфейсы). Элементы могут быть объявлены в классе или получены по наследству от родительских классов и интерфейсов. Простое имя элементов дается при инициализации. Например, toString(), PI, InnerClass. Составное имя получается путем объединения простого или составного имени типа, или переменной объектного типа с именем элемента. Например, ref.toString(), java.lang.Math.PI, OuterClass.InnerClass. Имена и идентификаторы Простое имя состоит из одного идентификатора, а составное - из нескольких. Существует возможность обращаться к полям и методам объектного типа не через имя типа или объектной переменной, а через ссылку на объект, полученную в результате выполнения выражения: country.getCity().getStreet(); Имена и идентификаторы Идентификаторы используются для названий меток (label). num: for (int num = 2; num <= 100; num++) { int n = (int)Math.sqrt(num)+1; while (--n != 1) { if (num%n==0) { continue num; } } System.out.print(num+" "); } Область видимости class Point { int x; int getX() {return x; // простое имя } } class Test { void main() { Point p = new Point(); p.x=3; // составное имя } } Область видимости Если обращение, например, к полю, идет из части кода, попадающей в область видимости его имени, то можно пользоваться простым именем, если нет – необходимо применять составное. Пакеты Программа на Java представляет собой набор пакетов (packages). Каждый пакет может включать вложенные пакеты, то есть они образуют иерархическую систему. Пакеты могут содержать классы и интерфейсы и таким образом группируют типы. Каждый пакет имеет свое пространство имен, что позволяет создавать одноименные классы в различных пакетах.