Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Эмулятор микроп... 65535
Бип из системно... 61818
Организация зап... 59217
Invision Power ... 59079
Приложение «Про... 57969
Модуль Forms 57397
Оператор выбора... 57239
Подключение Mic... 56686
Создание отчето... 56509
ТЕХНОЛОГИИ ДОСТ... 52732
Программируемая... 50399
Пример работы с... 48576
Имитационное мо... 48271
21 ошибка прогр... 43135
Реклама
Сейчас на сайте
Гостей: 14
На сайте нет зарегистрированных пользователей

Пользователей: 13,029
новичок: JulyaDaysoul
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование вычислительного центра на GPSS + Отчет + Блок схема
Диплом - база данных поставщиков на Delphi (MS Sql Server)+ Пояснительна...
Моделирование процесса передачи данных по магистрали с основным и резерв...

Реклама


Warning: preg_replace() [function.preg-replace]: Parameter mismatch, pattern is a string while replacement is an array in /var/www/u6406227/public_html/codingrus.ru/articles.php on line 38
Статьи: JAVA/JS
Методы-подставки
В тех случаях, когда стирание информации о настраиваемом типе в переопределенном методе производного класса не выполняет такого же стирания, как метод в его суперклассе, компилятору приходится вставлять в класс метод-подставку (bridge method). В подобной ситуации генерируется метод, выполняющий стирание информации о настраиваемом типе в суперклассе и уже этот метод вызывает метод производного класса, стирающий информацию о типах заданную в подклассе. Конечно, методы-подставки появляются только на уровне байт-кода, они скрыты от Вас и Вы не можете ими воспользоваться.

Настраиваемые интерфейсы
Кроме настраиваемых классов и методов Вы можете создавать настраиваемые интерфейсы (generic interface). Они задаются так же, как настраиваемые классы.

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

Настраиваемые типы
Среди множества расширений языка, включенных в Java 2 версии 5.0, средства настройки типов (generics) оказали на язык наиболее глубокое влияние. Они не только добавили новый синтаксический элемент в язык Java, но и вызвали изменения во многих классах и методах API (Application Programming Interface, Интерфейс прикладного программирования) ядра. Благодаря применению настраиваемых типов стало возможным создавать классы, интерфейсы и методы, работающие с различными типами данных, при этом обеспечивая безопасность типов. Многие алгоритмы логически идентичны вне зависимости от используемых типов данных. Например, механизм поддержки стека одинаков для стеков, хранящих элементы типа Integer, String, Object или Thread. С помощью настраиваемых типов Вы можете определить один алгоритм независимо от конкретного типа данных и затем применять его без дополнительной доработки к различным типам данных. Функциональные возможности настраиваемых типов коренным образом меняют подход к написанию программ на языке Java.

Настраиваемые типы и коллекции
Наиболее важной сферой применения настраиваемых типов можно считать подсистему Collections Framework. В ее состав вошли классы, реализующие разные структуры данных, такие как списки, стеки и очереди.

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

Настраиваемый подкласс
Не настраиваемый класс вполне может быть суперклассом для настраиваемого подкласса.

Некоторые ограничения применения настраиваемых типов
Существует несколько ограничений, которые Вам следует помнить при использовании настраиваемых типов. Они касаются создания объектов настраиваемого типа, статических членов класса, исключений и массивов. Рассмотрим каждое из них в отдельности.

Несколько примеров применения класса Scanner
Включение класса Scanner в язык Java превратило прежде утомительное и скучное занятие в легкое и приятное. Для того чтобы понять, почему это произошло, рассмотрим несколько примеров.

Область применения цикла for в стиле for-each
Поскольку цикл for в стиле for-each может обрабатывать массив только последовательно от начала к концу, Вы можете подумать, что область его применения ограничена, но это неверно. Множество алгоритмов нуждается именно в такой обработке. Один из наиболее общих примеров — поиск.

Обработка многомерных массивов в цикле
Улучшенная версия цикла for может применяться для обработки многомерных массивов (multidimensional array).

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

Ограниченные типы


Описание перечислимого типа
Начиная с выхода первой версии языка Java, в нем было пропущено одно средство, в котором нуждалась большая часть программистов: перечислимые типы или перечисления (enumirations). В простейшей форме перечислимый тип — это список именованных констант. Хотя язык Java предлагал другие способы для реализации подобной функциональности, например переменные с модификатором поля final, многие программисты были лишены концептуальной чистоты перечислимого типа, который поддерживается в других популярных языках программирования. С выходом Java 2 версии 5.0 перечислимый тип стал доступен и программистам, пишущим на языке Java. На первый взгляд перечислимый тип языка Java кажется подобным одноименному типу в других языках программирования. Но это подобие обманчиво. В языках, таких как C++, перечислимые типы — просто списки именованных целочисленных констант. В языке Java перечислимый тип определен как класс. Превращение перечислимого типа в класс существенно расширило его возможности. Например, в языке Java у перечислимого типа могут быть конструкторы, методы и поля. Таким образом, хотя перечислимые типы готовились несколько лет, реализация их в языке Java оправдала ожидания.

Описание средства "метаданные"
В версию Java 2 5.0 включена новая мощная функциональная возможность, названная метаданными (metadata), с ее помощью можно внедрять дополнительную информацию в исходный код. Эта информация, именуемая аннотациями или примечаниями (annotations), не изменяет алгоритм работы программы. Таким образом, аннотации оставляют семантику программы неизменной. Но эта информация может использоваться различными программными средствами, как во время разработки, так и во время установки программы. Например, аннотации могут обрабатываться генератором исходного кода. Хотя компания Sun называет это новое средство метаданными, более информативный термин "возможность аннотирования программ" так же применяется.
Страница 2 из 4 < 1 2 3 4 >
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
iComm v.6.1 - выв...
Error mod
Х. М. Дейтел, П. ...
Популярные загрузки
Искусство програм...
Degisy Data Acces...
IIIDTrans
NetGraph [Исходни...
Мод "проверочный ...
Архив программ
PHP 5 на примерах
BIOS
База предприятий ...
JBlabel3D
Пример создания W...
ActiveX в Delphi
PHP: Полезные приемы
Философия C++. Пр...
С# для профессион...
База Allsubmitter...

Топ загрузок
Приложение Клие... 100318
Delphi 7 Enterp... 79013
Converter AMR<-... 20023
Borland C++Buil... 10769
GPSS World Stud... 9508
Borland Delphi ... 7763
Turbo Pascal fo... 6899
Visual Studio 2... 4914
Калькулятор [Ис... 4074
FreeSMS v1.3.1 3486
Случайные статьи
Применения неподви...
OpenGL. МИНИМАЛЬНА...
Создание поставщик...
Операторы
Управление асинхро...
Системы контроля сети
Сохранение и загру...
Точки останова в с...
Ввод-вывод: заголо...
службы, связанную ...
Задание индексов в...
Использование спис...
Согласие, основанн...
Глава 4. Четыре пе...
atomic(X)
Класс TShape
Пример создания по...
Протоколы группово...
Модульные тесты: п...
Создание приложени...
telling (X)
Как приставка, так...
Задание на моделир...
Invalid floating-p...
плана безопасности
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?