Из Википедии, бесплатной энциклопедии
  (Перенаправлено из класса-оболочки Primitive )
Перейти к навигации Перейти к поиску

В объектно-ориентированном программировании , класс - оболочка представляет собой класс , который инкапсулирует типы , так что эти типы могут быть использован для создания объектов экземпляров и метод другого класса , которые нуждаются в этих типах. Таким образом, примитивный класс обертки класса обертки , который инкапсулирует, укрытия или обертки типы данных из восьми примитивных типов данных , [1] , так что они могут быть использованы для создания инстанцированы объектов с помощью методов в другом классе или в других классах. [2] [3] Примитивные классы-оболочки находятся в Java API..

0 Примитивные классы-оболочки используются для создания объектов, Objectкоторые должны представлять примитивные типы в Collectionклассах (то есть в Java API), в java.utilпакете и в пакете java.lang.reflect отражения . Классы коллекций - это классы, определенные Java API, которые могут хранить объекты аналогично тому, как структуры данных, такие как массивы, хранят примитивные типы данных, такие как int , double , long или char и т. Д. [2], но массивы хранят примитивные типы данных, в то время как коллекции на самом деле хранить предметы.

Примитивные классы-оболочки и соответствующие им примитивные типы:

Разница между классами-оболочками и примитивными типами [ править ]

Примитивные классы-оболочки - это не то же самое, что примитивные типы. В то время как переменные, например, могут быть объявлены в Java как типы данных double , short , int и т. Д., Примитивные классы-оболочки создают экземпляры объектов и методов, которые наследуют, но скрывают примитивные типы данных, в отличие от переменных, которым назначен тип данных. значения. [2]

Следовательно, термин « примитивный класс-оболочка» не означает, что классы-оболочки являются примитивными типами. Следует понимать, что это класс, который обертывает примитивные типы. Классы-оболочки можно использовать для хранения того же значения, что и для переменной примитивного типа, но сами экземпляры / объекты классов-оболочек не являются примитивными . Нельзя сказать, что классы Wrapper сами являются примитивными типами. Они просто обертывают примитивные типы.

Byte, Short, Integer, Long, Float, И Doubleклассы - оболочки все подклассы этого Numberкласса.

Классы-оболочки BigDecimalи BigInteger не являются одними из примитивных классов-оболочек, но являются неизменяемыми. [4] [5]

Атомарные классы-оболочки [ править ]

В Java 5.0 в java.util.concurrent.atomicпакет были добавлены дополнительные классы-оболочки . Эти классы изменяемы и не могут использоваться в качестве замены обычных классов-оболочек. Вместо этого они предоставляют атомарные операции для сложения, увеличения и присваивания.

Атомарные классы-оболочки и соответствующие им типы:

AtomicIntegerИ AtomicLongклассы являются подклассами Numberкласса. AtomicReferenceКласс принимает параметр типа V , который определяет тип объекта ссылки . (См. « Обобщения в Java » для описания параметров типа в Java).V

См. Также [ править ]

  • java.lang
  • java.lang.reflect
  • Язык программирования Java
  • Синтаксис Java
  • Компилятор Java

Ссылки [ править ]

  1. ^ SJ Chapman, Введение в Java , Prentice Hall, 1999.
  2. ^ a b c Дж. Мурач, Java Programming Murach , 4-е издание, Mike Murach and Associates, Inc., 2011.
  3. ^ JR Hubbard, Программирование с использованием Java , Outline SCHAUM в серии / McGraw Hill, 1998.
  4. Дэвид О'Мира (апрель 2003 г.). «Изменяемые и неизменяемые объекты: какие классы неизменяемы?» . Ранчо Ява . Проверено 14 мая 2012 . Классы java.math.BigInteger и BigDecimal также не являются неизменяемыми, хотя, возможно, они должны были быть. CS1 maint: обескураженный параметр ( ссылка )
  5. ^ Оракул. «Документация по Java от Oracle» . Неизменяемые целые числа произвольной точности.