Владимир Цишевский - Java как центр архипелага

Здесь есть возможность читать онлайн «Владимир Цишевский - Java как центр архипелага» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 1996, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Java как центр архипелага: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Java как центр архипелага»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Статья опубликована в журнале Jet Info, №9, 1996 г.

Java как центр архипелага — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Java как центр архипелага», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

одной - отсутствующей. В языке Java не бывает деструкторов.

Причина в том, что управление памятью автоматизировано (в фоно-

вом режиме работает сборщик мусора). Для высвобождения прочих

ресурсов, ассоциированных с об®ектом, служит специальный метод

finalize. Этот метод вызывается сборщиком мусора в момент ути-

лизации памяти, занимавшейся об®ектом.

Ключевое слово this (см., например, строки 5 и 9) используется

для ссылки на самого себя. Аналогичную роль по отношению к ро-

дительскому классу играет слово super:

1 class ThreePoint extends Point {

2 protected double z;

3 ThreePoint () {

4 super ();

5 z = 0.0;

6 }

7 ThreePoint (double x, double y, double z) {

8 super (x, y);

9 this.z = z;

10 }

11 }

В строках 4 и 8 вызываются конструкторы родительского класса.

Приведенные примеры показывают, что в языке Java, как и C++,

методы могут быть перегруженными, то есть под одним именем мо-

гут фигурировать разные методы с разным набором параметров.

Как и C++, с помщью ключевого слова static можно определить

данные и методы, которые являются общими для всех об®ектов

класса. (Отметим попутно, что функций, не принадлежащих какому-

либо классу, в языке Java не бывает.) Следующий пример содержит

фрагменты стандартного пакета java.lang.

1 public final

2 class Character extends Object {

3 public static final int MAX_ъADIX = 36;

4 static char downCase[];

5 static {

6 char down[] = new char[256];

7 for (int i = 0 ; i < 256 ; i++) {

8 down[i] = (char) i;

9 }

10 for (int lower = 'a' ; lower <= 'z' ; lower++) {

11 int upper = (lower + ('A' - 'a'));

12 down[upper] = (char)lower;

13 }

14 for (int lower = 0xE0; lower <= 0xFE; lower++) {

15 if (lower != 0xF7) { // multiply and divide

16 int upper = (lower + ('A' - 'a'));

17 down[upper] = (char)lower;

18 }

19 }

20 downCase = down;

21 }

22 public static boolean isLowerCase(char ch) {

23 return (upCase[ch] != ch);

24 }

25 }

Прокомментируем этот пример с точки зрения отличий Java от C++.

Строки с 5 по 21 представляют собой инициализацию статических

данных класса, которая осуществляется в момент загрузки класса

в Java-машину. По сути этот код играет роль конструктора класса

Character.

В строках 1 и 3 встречается ключевое слово final. В строке 1

это слово обозначает запрет на наследование от класса

Character. В строке 3 его смысл аналогичен описателю const в

C++.

Если слово final использовано в заголовке метода, то данный ме-

тод не может быть переопределен в классах-наследниках.

Как и в C++, в языке Java классы могут быть абстрактными, то

есть не до конца конкретизированными. Это означает, что в клас-

се описаны методы, определения которых отсутствуют. Такие мето-

ды (как и сам класс) должны снабжаться описателем abstract.

Абстрактные методы должны конкретизироваться в производных

классах.

В языке Java имеется предопределенная иерархия классов, содер-

жащихся в пакете java.lang. На рис. 9 эта иерархия представлена

графически.

Рис. 9. Иерархия предопределенных классов языка Java.

В этой иерархии несколько особняком стоит класс Class. Програм-

мист не может создать об®ект класса Class (правда, существуют и

другие классы с этим свойством). Ссылки на об®кт класса Class

можно получить с помощью метода getClass, определенного для об-

®ектов класса Object.

Об®екты класса Class используются для получения во время выпол-

нение информации о "классовых" свойствах об®екта. К об®ектам

класса Class, помимо прочих, применимы следующие методы:

1 public native String getName();

2 public native Class getSuperclass();

3 public static native Class forName(String className)

throws ClassNotFoundException;

Метод forName позволяет получить ссылку на класс по его имени.

Описатель native свидетельствует о том, что метод реализуется

средствами, внешними по отношению к Java-системе (например, пи-

шется на языке C).

4.1.1.2. Наследование

Модель наследования в языке Java существенно отличается от мо-

дели C++. Во-первых, в Java нет множественного наследования.

Во-вторых, в языке предусмотрены средства для запрета дальней-

шего наследования (ключевое слово final перед определением

класса). В-третьих, в языке Java присутствует новое по отноше-

нию к C++ понятие интерфейса.

Интерфейс представляет собой набор описаний методов. Пример:

public interface Verbose {

public void drawOn (Graphics g);

public void printOn (OutputStream os);

}

public class Star extends Polygon implements Verbose {

public void drawOn (Graphics g) {

// Конкретная реализация отрисовки

}

public void printOn (OutputStream os) {

// Конкретная реализация печати

}

}

public class Text extends StringBuffer implements Verbose {

public void drawOn (Graphics g) {

// Конкретная реализация отрисовки

}

public void printOn (OutputStream os) {

// Конкретная реализация печати

}

}

public class Blackboard extends Canvas {

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Java как центр архипелага»

Представляем Вашему вниманию похожие книги на «Java как центр архипелага» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Java как центр архипелага»

Обсуждение, отзывы о книге «Java как центр архипелага» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x