logo

Tipos de datos de referencia en Java

Java proporciona dos tipos de

Tipos de referencia de Java

Existen los siguientes cinco tipos de tipos de referencia en Java:

¿Qué tamaño tiene la pantalla de mi monitor?
Tipo de referencia Descripción
Clase Es un conjunto de instrucciones. Describe el contenido del objeto.
Formación Proporciona la estructura de datos de tamaño fijo que almacena los elementos del mismo tipo.
Anotaciones Proporciona una forma de asociar metadatos con elementos del programa.
Interfaz Está implementado por clases de Java.
Enumeración Es un tipo especial de clase que tiene seguridad de tipos. Cada elemento dentro de la enumeración es una instancia de esa enumeración.

Tipos de datos de referencia frente a primitivos

Tipo de referencia Tipo primitivo
No está predefinido excepto String. Está predefinido en Java.
Todo tipo de referencia comienza con letra mayúscula. Todo tipo primitivo comienza con una letra minúscula.
Los tipos no primitivos tienen todos el mismo tamaño. El tamaño de un tipo primitivo depende del tipo de datos.
Se utiliza para invocar o llamar a métodos. No podemos invocar el método con un tipo primitivo.
Puede ser nulo. No puede ser nulo. Siempre tiene valor.
Ejemplos de tipos de datos de referencia son clase, matrices, cadenas, interfaz, etc. Ejemplos de tipos de datos primitivos son int, float, double, boolean, long, etc.
JVM asigna 8 bytes para cada variable de referencia, de forma predeterminada. Su tamaño depende del tipo de datos.
Ejemplo : Demostración d1; Ejemplo : int número=78;

Asignación de memoria y recolección de basura

En Java, el nueva palabra clave se utiliza para crear un instancia de la clase. En otras palabras, crea una instancia de una clase asignando memoria para un nuevo objeto y devolver una referencia a esa memoria. Los objetos ocupan memoria en el espacio del montón de Java. También podemos usar la nueva palabra clave para crear el objeto de matriz .

 ClassName objectName = new ClassName(); 

Si no hay referencias a un objeto, la memoria utilizada por ese objeto se puede recuperar durante el proceso de recolección de basura.

Conversión entre tipo primitivo y tipo de referencia

La conversión de tipo primitivo a tipo de referencia se llama autoboxeo y la conversión del tipo de referencia al tipo primitivo se llama desempaquetar .

Comparación de tipos de referencia

También podemos comparar los tipos de referencia en Java. Java proporciona dos formas de comparar tipos de referencia:

Usando el operador igual (==)

Compara las ubicaciones de memoria de los objetos. Si la dirección de memoria (referencia) de ambos objetos es la misma, los objetos son iguales. Tenga en cuenta que no compara el contenido del objeto. Por ejemplo:

 Demo d1 = new Demo('Atlanta'); //creating a reference of Demo class Demo d2 = d1; //assigning the reference d1 into d2 if(d1=d2) //comparing reference 

Usando el método String.equals()

El método pertenece al Cadena clase. Anula el es igual() método de la Objeto clase . También utiliza el operador igual (==) para comparar el tipo de referencia. Por ejemplo, considere el siguiente fragmento de código:

Lenguaje de máquina
 String str1='JAVA'; String str2='JAVA'; String str3='java'; System.out.println(str1.equals(str2)); //returns true because content and case is same System.out.println(str1.equals(str3)); //returns false because case is not same 

Copiar tipo de referencia

Hay dos posibilidades cuando copiamos tipos de referencia: o se realiza una copia de la referencia a un objeto o se realiza una copia real (creando una nueva copia) del objeto.

En el siguiente ejemplo, hemos asignado una referencia al objeto. Si realizamos algún cambio en el objeto, también reflejará la referencia y viceversa.

 Sum s1 = new Sum(); Sum s2= s1;