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

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

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

Java как центр архипелага - описание и краткое содержание, автор Владимир Цишевский, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Статья опубликована в журнале Jet Info, №9, 1996 г.

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

Java как центр архипелага - читать книгу онлайн бесплатно, автор Владимир Цишевский
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Как и в 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 {

public void drawVerbose (Verbose d) {

Graphics g = getGraphics ();

d.drawOn (g);

}

}

Интерфейс Verbose содержит два метода. Первый предназначен для

рисования в графическом контексте, второй - для распечатки в

выходной поток.

Класс Star предствляет собой подкласс многоугольников

(Polygon). Помимо прочего, мы хотим рисовать об®екты этого

класса на доске (Blackboard) и выводить их описание в файл.

Для об®ектов класса Text мы хотим иметь возможность начертать

текст на доске и выводить его в файл.

Класс Blackboard - наследник класса Canvas, специально предназ-

наченного для рисования. Как мы видим, этот класс с помощью

единственного метода справляется с рисованием об®ектов, не име-

ющих общего предка (кроме класса Object).

Таким образом, с помощью интерфейсов можно компенсировать от-

сутствие множественного наследования. В контексте наследования

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

жащий данных.

4.1.1.3. Жизненный цикл об®екта

Об®екты создаются с помощью оператора new. Инициализация об®ек-

та производится с помощью соответствующего конструктора. Эти

операции разделить нельзя - за new следует конструктор. Пример.

Point myPoint = new Point ();

Других способов создания об®ектов (кроме оператора new) язык

Java не предоставляет.

Об®ект существует до тех пор, пока на него есть ссылки (то есть

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

ной). В языке отсутствуют явные средства удаления об®ектов.

После того, как об®ект стал недоступен, он оказывается кандида-

том для утилизации сборщиком мусора.

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

присвоено новое значение или если эта переменная перестала быть

доступной (произошел выход из блока). Пример.

Point p = new Point (100.0, 100.0);

. . .

p = new Point (1.0, 1.0);

// На точку с координатами (100, 100) ссылок больше нет

{

String s = new String ("Local string");

System.out.println (s);

}

// На строку "Local string" ссылок больше нет

В момент утилизации об®екта сборщиком мусора будет вызван метод

finalize. Из-за того, что сборщик мусора работает в фоновом ре-

жиме, вызов finalize является асинхронным.

4.1.2. Примитивные типы данных

В языке Java существует набор встроенных типов данных, которые

не являются об®ектами. Их не так много.

Представление чисел в языке Java фиксировано и, тем самым, не

зависит от аппаратной платформы.

- целые числа:

- - byte - 8 бит,

- - short - 16 бит,

- - int - 32 бита,

- - long - 64 бита.

Все числа со знаком, спецификатор unsigned в языке отсутствует.

- числа с плавающей точкой:

- - float - 32 бита,

- - double - 64 бита.

Представление должно соответствовать стандарту IEEE 754.

- char

Значение типа char есть 16-разрядное число без знака (диапазон

0-65535). Кодировка соответствует стандарту Unicode. В резуль-

тате с самого начала закладывается здоровая основа для решения

проблемы локализации Java-программ.

- boolean

Содержит значения true и false, которые не могут быть преобра-

зованы в другой тип.

В языке Java, разумеется, присутствуют массивы. Эти массивы ти-

пизированы. Декларация

Point myPoints[];

описывает переменную myPoints как массив об®ектов типа Point.

Завести массив определенного размера можно с помощью инструкции

вида

myPoints = new Point[10];

Значения элементов массива при этом устанавливаются равными

специальной величине null.

Размер массива может быть получен во время выполнения програм-

мы:

howMany = myPoints.length;

Других структурных типов (не являющихся об®ектами) в языке Java

нет, то есть нет структур, об®единений и т.п. Нет в Java и ука-

зателей.

Отметим, что строки символов являются об®ектами типа String

(текстовые константы) или StringBuffer (изменяемые строки).

Пример,

String hello = "Hello world!";

4.1.3. Пакеты

Классы в языке Java об®единяются в пакеты. Все классы, входящие

в один пакет, являются дружественными по отношению друг к дру-

гу, то есть имеют взаимный доступ к переменным и методам, если

противное не оговорено явно посредством спецификаторов private

или protected.

Пакеты разграничивают пространства имен. "Просто глобальных"

имен в языке Java не бывает.

Пакет оформляется с помощью синтаксической конструкции вида

package my_packages.pack1:

Инструкция package должна стоять первой в файле с исходным

Java-текстом. Она действует до конца файла.

Пакеты могут импортироваться другими пакетами посредством инст-

рукции import. Примеры,

import java.util;

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

Интервал:

Закладка:

Сделать


Владимир Цишевский читать все книги автора по порядку

Владимир Цишевский - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Java как центр архипелага, автор: Владимир Цишевский. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x