Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lection_6_Java

.pdf
Скачиваний:
5
Добавлен:
23.02.2015
Размер:
506.5 Кб
Скачать

Импорт классов и пакетов

По умолчанию компилятор будет искать классы только в двух пакетах: в том, что указан в первой строке файла, и в пакете стандартных классов java.lang. Для классов из другого пакета надо указывать полные имена, например: p1.Base.

Если полные имена длинные и встречаются часто, удобнее записать оператор import, указывая компилятору полные имена классов, по следующему шаблону:

import полное_имя_класса;

Сколько классов надо указать, столько операторов import и пишется. Если необходимы все классы пакета, удобнее вторая форма оператора:

import имя_пакета.*;

Пример:

import p1.*;

Импортировать разрешается только открытые классы, помеченные модификатором public.

Начиная с версии J2SE 5.0, в языке Java существует третья форма оператора import, предназначенная для поиска статических полей и методов класса. Например:

import static java.lang.Math.*;

После этого этого все статические поля и методы класса Math можно использовать без указания имени класса. Вместо записи

double r = Math.cos(Math.PI * alpha);

можно записать

double r = cos(PI * alpha);

Оператор import вводится только для удобства программистов. Реально это не означает никаких перемещений классов.

Модификатор static

Может использоваться в качес­ тве модификатора метода или поля данных. Позволяет объ­ являть методы и поля данных таким образом, чтобы они были методами и полями данных класса, а не экземпляра.

Другими словами, будет создана только одна копия метода или поля данных для всех объектов содержащего их класса.

Тимошенко С.И. Сопроводительный материал к лекции №5. Язык Java. Тип массив. Операторы языка 11

Java-файлы

Структуру исходного файла с текстом программы на языке Java можно представить в следующем виде:

В первой строке файла может быть необязательный оператор package .

В следующих строках могут быть необязательные операторы import .

Далее идут описания классов и интерфейсов.

Дополнительные правила:

Среди классов файла может быть только один открытый public-класс.

Имя файла должно совпадать с именем открытого класса, если последний существует.

Отсюда следует, что, если в проекте есть несколько открытых классов, то они должны находиться в

разных файлах.

Соглашение “Code Conventions” рекомендует открытый класс, если он имеется в файле, описывать

первым.

Тимошенко С.И. Сопроводительный материал к лекции №5. Язык Java. Тип массив. Операторы языка 12

Контрольные вопросы

1)Можно ли при переопределении некоторого абстрактного метода perform() использовать выражение super.perform()?

2)Можно ли при наследовании не реализовывать абстрактный метод родительского класса?

3)Если есть переменная типа абстрактный класс, можно ли с ее помощью обращаться к абстрактным методам этого класса?

4)Какие модификаторы элементов интерфейса подставляются по умолчанию, а потому не рекомендованы для явного указания?

5)Возможно ли не реализовывать все методы из интерфейса, указанного в выражении implements?

6)Есть ли какие-либо ограничения на набор интерфейсов, которые может реализовывать класс?

7)Какое значение появится на консоли после выполнения следующей программы?

public class Parent { int x = 2;

public void print() { System.out.println(x);

}

}

public class Child extends Parent { int x = 3;

public static void main(String s[]) { new Child().print();

}

}

Тимошенко С.И. Сопроводительный материал к лекции №5. Язык Java. Тип массив. Операторы языка 13

8)Изменится ли результат программы из предыдущего вопроса, если добавить в объявление класса Child следующие строки?

public void print() {

System.out.println(x);

}

9)Могут ли пакет и вложенный пакеты содержать одноименные классы?

10)Корректно ли следующее объявление с точки зрения формального выполнения соглашений по именованию?

public class flat{

private int floor_number;

private int r; // количество комнат public int rooms() {

retun r;

}

public int GetFloorNumber() { return floor_number;

}

}

Тимошенко С.И. Сопроводительный материал к лекции №5. Язык Java. Тип массив. Операторы языка 14

Тимошенко С.И. Сопроводительный материал к лекции №5. Язык Java. Тип массив. Операторы языка 15

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]