En la programación orientada a objetos , una clase envoltorio es una clase que encapsula tipos , de modo que esos tipos se pueden usar para crear instancias de objetos y métodos en otra clase que necesita esos tipos. Así, una clase envoltorio primitiva es una clase envoltorio que encapsula, oculta o envuelve tipos de datos de los ocho tipos de datos primitivos , [ 1 ] de modo que estos se pueden usar para crear objetos instanciados con métodos en otra clase o en otras clases. [ 2 ] [ 3 ] Las clases envoltorio primitivas se encuentran en la API de Java .
Las clases envoltorio primitivas se utilizan para crear una Objectque necesita representar tipos primitivos en Collectionclases (es decir, en la API de Java), en el java.utilpaquete y en el paquete java.lang.reflectde reflexión . Las clases de colección son clases definidas por la API de Java que pueden almacenar objetos de una manera similar a como las estructuras de datos como los arreglos almacenan tipos de datos primitivos como int , double , long o char , etc., [ 2 ] pero los arreglos almacenan tipos de datos primitivos mientras que las colecciones realmente almacenan objetos.
Las clases contenedoras primitivas y sus tipos primitivos correspondientes son:
La diferencia entre clases envoltorio y tipos primitivos
Las clases envoltorio primitivas no son lo mismo que los tipos primitivos. Mientras que las variables, por ejemplo, se pueden declarar en Java como tipos de datos double , short , int , etc., las clases envoltorio primitivas crean objetos y métodos instanciados que heredan pero ocultan los tipos de datos primitivos, a diferencia de las variables a las que se les asignan valores de tipo de datos. [ 2 ]
Por lo tanto, el término "clase envoltorio primitiva" no implica que las clases envoltorio sean tipos primitivos. Debe entenderse como una clase que encapsula tipos primitivos. Las clases envoltorio pueden almacenar el mismo valor que una variable de tipo primitivo, pero las instancias u objetos de las clases envoltorio en sí mismas no son primitivos . No podemos afirmar que las clases envoltorio sean tipos primitivos; simplemente encapsulan los tipos primitivos.
Las clases Byte, Short, Integer, Long, Float, y Doublewrapper son todas subclases de la Numberclase.
Las clases envoltorio no BigDecimalson BigIntegeruna de las clases envoltorio primitivas, pero son inmutables. [ 4 ] [ 5 ]
Clases contenedoras atómicas
Con Java 5.0, se introdujeron clases envoltorio adicionales en el java.util.concurrent.atomicpaquete. Estas clases son mutables y no pueden usarse como reemplazo de las clases envoltorio habituales. En cambio, proporcionan operaciones atómicas para la suma, el incremento y la asignación.
Las clases contenedoras atómicas y sus tipos correspondientes son:
Las clases AtomicIntegery AtomicLongson subclases de la Numberclase. La AtomicReferenceclase acepta el parámetro de tipoV que especifica el tipo de la referencia al objeto . (Consulte " Genéricos en Java " para obtener una descripción de los parámetros de tipo en Java).
Véase también
Referencias
- ↑ SJ Chapman, Introducción a Java , Prentice Hall, 1999.
- 1 2 3 J. Murach, Programación Java de Murach , 4.ª edición, Mike Murach and Associates, Inc., 2011.
- ↑ JR Hubbard, Programación con Java , Serie de esquemas de Schaum/McGraw Hill, 1998.
- ↑ David O'Meara (abril de 2003). "Objetos mutables e inmutables: ¿Qué clases son inmutables?" . Java Ranch . Consultado el 14 de mayo de 2012.
Las clases java.math.BigInteger y BigDecimal tampoco son inmutables, aunque tal vez deberían haberlo sido.
- ↑ Oracle. "Documentación de Java de Oracle" .
Enteros inmutables de precisión arbitraria.
- Java (lenguaje de programación)
