русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Класс массива


Дата добавления: 2015-06-12; просмотров: 461; Нарушение авторских прав


Поскольку массив является объектным типом данных, можно попытаться представить себе, как выглядело бы объявление класса такого типа. На самом деле эти объявления не хранятся в файлах, или еще каком-ни­будь формате. Учитывая, что массив может быть объявлен на основе любо-IX)типа и иметь произвольную размерность, это физически невыполнимо, дай не требуется. Вместо этого во время выполнения приложения вирту­альная машина генерирует эти объявления динамически на основе базо­вого типа и размерности, а затем они хранятся в памяти в виде таких же э1йемпляров класса Class, как и для любых других типов.

Рассмотрим гипотетическое объявление класса для массива, осно­ванного на неком объектном типе Element.

Объявление класса начинается с перечисления модификаторов, среди ксугорых особую роль играют модификаторы доступа. Класс массива будет иметь такой же уровень доступа, как и базовый тип. То есть если Element обмелен как public-класс, то и массив будет иметь уровень доступа pub­lic Для любого примитивного типа класс массива будет public. Можно также указать модификатор final, поскольку никакой класс не может наследоваться от класса массива.

Затем следует имя класса, на котором можно подробно не останав-Л11|аться, т.к. к типу массив обращение идет не по его имени, а по имени базового типа и набору квадратных скобок.

Затем нужно указать родительский класс. Все массивы наследуются Напрямую от класса Object. Далее перечисляются интерфейсы, которые Реализует класс. Для массива это будут интерфейсы Cloneable и %iallzable. Первый из них подробно рассматривается в конце этой лекции, а второй будет описан в следующих лекциях.

Сведем все вышесказанное в формальную запись класса:

[public] class А implements Cloneable, java.io.Serializable { public final int length; // инициализируется при создании



public Object cloneO { try{

return supercloneO; } catch (CloneNotSupportedException e) {

throw new lnternalError(e.getMessage()); } } }

Таким образом, экземпляр типа массив является полноценным объектом, который, в частности, наследует все методы, определенные в классе Object, например, toString(), hashCode() и остальные.

Например:

// результат работы метода toString() System.out.println(new int[3]); System.out.println{newint[3][5]); System.out.println(newString[2]);

// результат работы метода hashCode() System.out.println(newfloat[2].hashCode()); Результатом выполнения программы будет:

[1@26Ь249

[[I@82f0db

[Ljava.lang.String;@92d342



<== предыдущая лекция | следующая лекция ==>
Многомерные массивы | Преобразование типов для массивов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.108 сек.