Навигация
Главная
Поиск
Форум
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
Бип из системно... 63870
Организация зап... 60420
Invision Power ... 59991
Приложение «Про... 59814
Оператор выбора... 58800
Модуль Forms 58153
Подключение Mic... 57790
Создание отчето... 57589
ТЕХНОЛОГИИ ДОСТ... 53881
Программируемая... 52013
Пример работы с... 50041
Имитационное мо... 49320
21 ошибка прогр... 44199
Реклама
Сейчас на сайте
Гостей: 20
На сайте нет зарегистрированных пользователей

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

Моделирование регулировочного участка цеха на GPSS + Пояснительная записка
Поиск пути в графе заданном списками инцедентности на Turbo Pascal
Изменения контуров и сортировка в двумерном массиве чисел на Turbo Pasca...

Реклама



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

Случайные загрузки
Apollovcl61
Abbrevia
Профессиональное ...
ShadelLabel
PHP 5 для "чайников"
SUIPack
Моделирование дви...
Учебник для продв...
JBlabel3D
Assistant
Программирование ...
Панель Наша Кнопка
Книга по Delphi (...
mmmJlabel
Progressbar
Domen Name IP
Bitmap [для кнопок]
Adapter (пример D...
Электронный магаз...
Task Shedule

Топ загрузок
Приложение Клие... 100338
Delphi 7 Enterp... 80521
Converter AMR<-... 20029
Borland C++Buil... 10870
GPSS World Stud... 9954
Borland Delphi ... 7898
Turbo Pascal fo... 6925
Visual Studio 2... 4931
Калькулятор [Ис... 4177
FreeSMS v1.3.1 3492
Случайные статьи
Использование ext/...
• создайте учетную...
дополнительных ОГП...
Протокол РоЕР внут...
6.4. Задачи
Сегодня ночью я сп...
Лабораторная: режи...
Вычисление значени...
Сервер эмуляции ло...
Кодирование инстру...
Создание таблиц
ShiftRow
Виртуальные машины...
Создание и конфигу...
7.6. Задачи
2. RADIUS-прокси т...
Операторы описания...
Как модифицировать...
Правила определени...
Принципы обработки...
Программист
Существуют два осн...
Стремитесь к нетра...
Миниатюризация ком...
Основное -- адеква...
Статистика



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


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