Навигация
Главная
Поиск
Форум
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
Эмулятор микроп... 65535
Приложение «Про... 64165
Организация зап... 62783
Оператор выбора... 62625
Invision Power ... 62200
Подключение Mic... 61001
Модуль Forms 59911
Создание отчето... 59836
ТЕХНОЛОГИИ ДОСТ... 56037
Программируемая... 55541
Пример работы с... 53153
Имитационное мо... 51427
21 ошибка прогр... 46413
Реклама
Сейчас на сайте
Гостей: 11
На сайте нет зарегистрированных пользователей

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

Изменения контуров и сортировка в двумерном массиве чисел на Turbo Pasca...
Диплом RSA, ЭЦП, сертификаты, шифрование на C#
Моделирование системы управления качеством производственного процесса на...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании

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
Ошибки неоднозначности
Введение настраиваемых типов породило новую категорию ошибок, которых Вы должны беречься, ошибки неоднозначности (ambiguity errors). Такая ошибка возникает, когда механизм стирания вызывает два на вид отличающихся объявления настраиваемых типов для удаления информации об одном типе, порождая тем самым конфликт.

Перегрузка методов с аргументом переменной длины
Вы можете перегружать метод с аргументом переменной длины.

Переопределенные методы в настраиваемом классе
Метод в настраиваемом классе можно переопределить, как любой другой метод.

Перечислимые типы, наследующие тип enum
Несмотря на то, что Вы не можете наследовать суперкласс при объявлении типа enum, все перечислимые типы автоматически наследуют один класс java.lang.Enum. Enum— это настраиваемый класс, его объявление приведено в следующей строке:
abstract class Enum <Е extends Enum> E>>


Параметр Е обозначает перечислимый тип. У класса Enum нет общедоступных (public) конструкторов. В этом классе определено несколько методов, перечисленных в табл. 6.1 и доступных для всех перечислимых типов. Большая часть методов класса Enum понятна, но есть среди них четыре, заслуживающие более пристального внимания.

Перечислимый тип в Java — это класс
Как уже упоминалось, перечислимый тип в языке Java — это класс. Несмотря на то, что Вы не можете инициализировать переменную типа enum с помощью операции new, у перечислимого типа много функциональных возможностей таких же, как у других классов. То, что тип enum определен как класс, наделяет перечислимый тип в языке Java такими возможностями, каких нет у перечислимых типов в других языках программирования. К примеру, Вы можете создать для него конструкторы, добавить поля и методы и даже реализовать интерфейсы. Важно понять, что каждая константа перечислимого типа — это объект перечислимого типа. Таким образом, если создать конструктор для типа enum, он будет вызываться при создании каждой константы перечислимого типа. Кроме того, у каждой константы перечислимого типа есть собственная копия переменных, определенных перечислимым типом.

Поддержка 32-битных кодовых точек для символов Unicode
В версию Java 2 5.0 внесены значительные дополнения в типы character и String для поддержки 32-битных символов Unicode. В прошлом все символы Unicode могли храниться в шестнадцати битах, которые равны размеру значения типа char (и размеру значения, содержащегося в объекте типа character), поскольку эти значения лежали в диапазоне от 0 до FFFF. Но недавно набор символов Unicode был расширен и теперь требует больше 16 бит для хранения символа. Новая версия набора символов Unicode включает в себя символы, лежащие в диапазоне от 0 до 10FFFF.

Получение аннотаций во время выполнения программы с помощью рефлексии
Несмотря на то, что аннотации созданы для других программных средств разработки и распространения или установки, их может запросить любая Java-программа во время выполнения с помощью средств рефлексии. Многие читатели, вероятно, знают, рефлексия — это функциональная возможность, позволяющая получать информацию о классе во время выполнения. Интерфейс рефлексии (Reflection API) содержится в пакете java.lang.reflect. Существует ряд способов применения рефлексии, но мы не будем обсуждать их все в этой книге. Рассмотрим несколько примеров применения этого программного средства для получения информации об аннотации.

Применение класса ProcessBuilder


Применение метода printf() языка Java
Хотя с технической точки зрения нет ничего неправильного в непосредственном использовании класса Formatter, как было сделано в предыдущих примерах, при формировании вывода на консоль, версия Java 2 5.0 прелагает более удобную альтернативу: метод printf (). Этот метод автоматически использует объект типа Formatter для создания форматированной строки. Затем она выводится как строка в стандартный поток вывода по умолчанию на консоль. Метод printf () определен в классах PrintStream и PrintWriter.

Создание настраиваемого метода


Создание объектов, реализующих интерфейс Iterable
Несмотря на то, что цикл for в стиле for-each разрабатывался в расчете на массивы и коллекции, его можно применять для обработки в цикле содержимого любого объекта, реализующего интерфейс iterable. Это позволяет Вам создавать классы, объекты которых можно использовать в цикле for в стиле for-each. Такая мощная функциональная возможность существенно расширяет область применения улучшенного цикла for.

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

Статический импорт. Неоднозначность
Используя средство статического импорта, нужно быть очень внимательным, чтобы не создать неоднозначных ситуаций. Если у двух классов или интерфейсов используется одно и то же имя для статического члена, и оба эти класса или интерфейса импортируются в один и тот же блок компиляции, компилятор не знает какое из этих имен выбрать, если они применяются без уточнения с помощью имени класса.

Статический импорт. Общий вид оператора статического импорта


Статический импорт. Описание статического импорта
Новое средство, которое многие программисты сочтут весьма полезным, называется статическим импортом (static import) и расширяет возможности ключевого слова import. Оператор языка import, снабженный ключевым словом static, следующим за ключевым словом import, может применяться для импорта статических членов класса или интерфейса. Благодаря наличию статического импорта стало возможным ссылаться на статические члены непосредственно по их именам без уточнения имени их класса. Это упрощает и сокращает синтаксис обращения к статическому члену.
Страница 3 из 4 < 1 2 3 4 >
Гость
Имя

Пароль



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

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

Случайные загрузки
Dreamsoft Progres...
AJAX и PHP. разра...
LaserTank [Исходн...
Exe in exe
Preview
С. Г. Горнаков - ...
Visual Studio 200...
Создание отчетов ...
Delphi. Готовые а...
Введение в станда...
Моделирование дви...
Искусство програм...
SendSMS для PHP-F...
Дешифратор содерж...
Dnavigator
Report
Drag&Drop
MicroGPSS Studen ...
около 291 статьи ...
Отключение и вклю...

Топ загрузок
Приложение Клие... 100366
Delphi 7 Enterp... 82142
Converter AMR<-... 20046
Borland C++Buil... 11045
GPSS World Stud... 10405
Borland Delphi ... 8032
Turbo Pascal fo... 6959
Visual Studio 2... 4961
Калькулятор [Ис... 4259
FreeSMS v1.3.1 3508
Случайные статьи
Как увидеть пробле...
Построение кодека ...
Блок конца изображ...
Управление рубриками
Как ответить на со...
Частотная манипуляция
Доступ к объектной...
Модуль List
Ввод элементарных ...
PRIORITY (НАЗНАЧИТ...
Теперь рассмотрим ...
Установка и настро...
RFC 1918 Это значи...
Invalid subrange b...
Интернет-магазины ...
Ввод-вывод символь...
Выбор ведущего эле...
Сохранение изображ...
Создание файла док...
Процедура итерацио...
Как быть, если ни ...
1.5. Правила
Рекурсивное постро...
Имейте достаточно ...
Класс TPaintBox
Статистика



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


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