- •Полезные классы
- •Цели занятия
- •Полезные классы
- •Класс Class
- •Класс Class
- •Классы-обертки примитивных
- •Классы-обертки примитивных
- •Классы-обертки примитивных
- •Классы-обертки примитивных
- •Классы-обертки примитивных
- •Наполнение классов-оберток
- •Наполнение классов-оберток
- •Наполнение классов-оберток
- •Класс Math
- •Наполнение класса Math
- •Работа со строками. Класс String
- •Наполнение класса String
- •Наполнение класса String
- •Наполнение класса String
- •Наполнение класса String
- •Класс StringBuffer
- •Наполнение класса StringBuffer
- •Наполнение класса StringBuffer
- •Наполнение класса StringBuffer
- •Пакет java.text
- •Пакет java.util
- •Классы для работы со временем
- •Классы для работы с
- •java.util.Random
- •Класс Arrays
- •Литература
Полезные классы
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Цели занятия
2Изучить:
•Class
•Классы-обертки примитивных типов
•Класс Math
•Инструменты работы со строками
•Классы управления процессами и потоками
•Прочие фундаментальные классы
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Полезные классы
3• В состав пакета java.lang входят классы, составляющие основу для всех других
•Каждый класс в Java неявным образом (по умолчанию) импортирует все классы этого пакета
•Основу пакета составляют классы:
Object
Class
Классы-обертки примитивных типов
Класс Math
Инструменты работы со строками
Классы управления процессами и потоками
Прочие фундаментальные классы
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Класс Class
4• Является метаклассом для всех классов
Java
В запущенной программе Java каждому классу соответствует объект типа Class. Этот объект содержит информацию, необходимую для описания класса – поля, методы и т.д.
•Экземпляры содержат описания классов, загружаемых JVM Получить объект Class можно применив метод getClass()
•Не имеет доступного конструктора
Объекты этого класса создаются автоматически Java-машиной по мере загрузки
классов
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Класс Class
5• Содержит методы для работы с классами и их
методами
Одни методы возвращают данные о классе как таковом, например, какие интерфейсы тот реализует или какие классы расширяет, а другие предоставляют сведения о членах класса, включая вложенные классы и интерфейсы. С помощью методов класса Class можно получить ответы на вопросы, относится ли класс к категории интерфейсов или массивов либо является ли конкретный объект экземпляром того или иного класса
•Лежит в основе т.н. «рефлексии», позволяющей подробно исследовать любой тип Java
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Классы-обертки примитивных
типов
6• Значения примитивных типов не могут быть непосредственно использованы в контексте, где требуется ссылка
•Ссылочное представление значений примитивных типов является основной задачей т.н. классов-оберток
•Экземпляр такого класса хранит внутри значение примитивного типа и предоставляет доступ к этому значению
•Для каждого примитивного типа Java существует свой класс-обертка
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Классы-обертки примитивных
типов
7• Такой класс является неизменяемым (т.е. для изменения значения необходимо создавать новый объект), к тому же имеет атрибут final – от него нельзя наследовать класс
•Все классы-обертки (кроме Void) реализуют интерфейс Serializable, поэтому объекты любого (кроме Void) класса- обертки могут быть сериализованы
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Классы-обертки примитивных
типов
8 |
Класс-обертка |
Примитивный тип |
|
||
|
Boolean |
boolean |
|
Byte |
byte |
|
Character |
char |
|
Double |
double |
|
Float |
float |
|
Integer |
int |
|
Long |
long |
|
Number |
|
|
Short |
short |
|
Void |
|
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Классы-обертки примитивных
типов
9• При этом классы обертки числовых типов – Byte, Short, Integer, Long, Float, Double наследуются от одного класса – Number
•В нем содержится код, общий (часть реализована посредством абстрактных методов) для всех классов-оберток числовых типов
•Класс Void является исключением, так как в Java нет значений, которые можно было бы заключить в соответствующую «обертку», в составе класса
нет методов, и он не позволяет создавать объекты
•Он нужен только для получения ссылки на объект Class, соответствующий void
•Эта ссылка представлена статической константой
TYPE
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |
Классы-обертки примитивных
типов
10• В Java не поддерживается тип void – это служебное слово используется в конструкциях объявлений методов и свидетельствует об отсутствии возвращаемых значений
•Класс Void применятся только в механизме рефлексии
•Процесс инкапсуляции значения в объект называется
упаковкой
Integer iOb = new Integer(100);
•Процесс извлечения значения из оболочки типа называется распаковкой
int i = iOb.intValue();
•Для получения значения типа long из объекта iOb вам следует вызвать метод iOb.longValue()
•Таким образом, можно распаковать значение в переменную простого типа, отличающегося от типа оболочки
Все права защищены. www.haulmont.ru info@haulmont.com |
© HAULMONT, 2013 |