Навигация
Главная
Поиск
Форум
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
Эмулятор микроп... 65535
Подключение Mic... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Invision Power ... 65259
Организация зап... 63908
Модуль Forms 60830
Создание отчето... 60690
ТЕХНОЛОГИИ ДОСТ... 57011
Создание потоко... 56334
Пример работы с... 54231
Имитационное мо... 52463
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

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

Моделирование процесса обработки заданий пакетным режимом работы с квант...
База данных студентов на Delphi + Microsoft SQL Server
База данных электронного документооборота на Delphi + бд Intebase

Реклама



Подписывайся на 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...
Шаблон для новост...

Случайные загрузки
SysInfo [Исходник...
Fig [Исходник на ...
Измерение тактово...
BSButton
32 урока по Delphi
Программирование ...
База игр
«Философия» прогр...
Animation Effect ...
TDBF
База для Allsubmi...
Email
Image Browser [Ис...
CS:Source - монит...
Run
Модифицированная ...
XPcontrol
Prolog Interprete...
Панель Наша Кнопка
FatScrollbar

Топ загрузок
Приложение Клие... 100376
Delphi 7 Enterp... 83059
Converter AMR<-... 20046
Borland C++Buil... 11173
GPSS World Stud... 10883
Borland Delphi ... 8120
Turbo Pascal fo... 6973
Visual Studio 2... 4963
Калькулятор [Ис... 4354
FreeSMS v1.3.1 3510
Случайные статьи
Помещение модели д...
repeat
Как выбрать масшта...
Задача реализации ...
Как Windows 98 инс...
Документы СС/РР
Записи Android-при...
Модульность - МПролог
Реализация обобщен...
Малоощутимый эффект
Наряду с шаблонами...
Динамические струк...
Итоги
Основы OLE. Термин...
информационно – сп...
Нумералы
Съемка Canon по ос...
Инспекция состояни...
Перегрузка методов...
ВЗЛОМ NT
Процедуры кодирова...
Символы, используе...
База знаний - книги
Основная задача. ...
Сортировка методом...
Статистика



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


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