java - objeto - ¿Cuál es la diferencia entre los tipos primitivos y de referencia?
tipos de variables en java ejemplos (8)
- Java tiene ocho tipos primitivos: int, double, float, long, short, byte, char, boolean. Significa que el programador no puede definir el nuevo tipo primitivo.
- El tipo de referencia está definido por el usuario, por lo que hay un número ilimitado de ellos. 4 tipos de referencias fundamentales de Java son: Clases, Interfaces, Matrices, Enumeraciones.
- Los tipos primitivos representan valores únicos. Los tipos de referencia agregan tipos que contienen cero o más valores u objetos primitivos.
- Los tipos primitivos requieren entre uno y ocho bytes de memoria. Cuando un valor primitivo se almacena en una variable o se pasa a un método, la computadora hace una copia de los bytes y mantiene los valores. Los objetos, por otro lado, pueden requerir más memoria.
Esta es una pregunta del examen pasado y me preguntaba qué tipo de primitivo y tipo de referencia son los primeros en salir? Con una matriz sé que un tipo de referencia es donde la matriz está compuesta de objetos o variables, pero un tipo primitivo es donde se crearía la matriz con solo int o cadenas. (¿derecho?)
¿Cómo crees que responderías la pregunta en la prueba y obtendrás un buen crédito? Sin realmente referirnos directamente a un tipo de ARRAY primitivo ... ¿Hay alguna manera de hacerlo sin eso? ¿O crees que estaría bien solo explicarlo con la matriz?
Del libro OCA JAVA SE 7
Así como los hombres y las mujeres son fundamentalmente diferentes (según John Gray, autor de Men Are from Mars, Women are from Venus), las variables primitivas y las variables de referencia de objeto difieren entre sí de múltiples maneras. La diferencia básica es que las variables primitivas almacenan los valores reales, mientras que las variables de referencia almacenan las direcciones de los objetos a los que hacen referencia. Supongamos que una Persona de clase ya está definida. Si crea una variable int a, y una persona variable de referencia de objeto, almacenarán sus valores en la memoria como se muestra en la figura 2.13.
int a = 77;
Person person = new Person();
En resumen, en el nivel más bajo tenemos grupos de tipos primitivos como "byte, short, int, long, float, double, boolean, char" y los tipos de referencia están principalmente diseñados para agrupar tipos primitivos. Entonces puedes tener un grupo de int como list, un grupo de char como string, una clase de primitivas, etc.
Otro factor importante es sobre el tipo primitivo que contiene un valor y una dirección de retención de referencia.
int item = 3;
int item2 = item;
Hacer que item2 mantenga un valor 3 fijo. Pero para el tipo de referencia diga
Point p = new Point(1.0, 2.0);
Point q = p;
q mantendrá la dirección del objeto p y en VM seguirá siendo un punto. De forma similar, la dirección se pasa a los métodos para el tipo de referencia, mientras que el valor se pasa para el tipo primitivo. La mayoría de las otras diferencias también están asociadas con el valor y la dirección.
Estos son los tipos primitivos en Java:
- booleano
- byte
- corto
- carbonizarse
- En t
- largo
- flotador
- doble
Todos los otros tipos son tipos de referencia: hacen referencia a objetos.
Esta es la primera parte del tutorial de Java sobre los conceptos básicos del lenguaje .
La respuesta corta es que los primitivos son tipos de datos, mientras que las referencias son punteros, que no retienen sus valores sino que apuntan a sus valores y se usan en / con objetos.
Primativos :
booleano
personaje
byte
corto
entero
largo
flotador
doble
Muchas buenas referencias que explican estos conceptos básicos. http://www.javaforstudents.co.uk/Types
Primitivas vs. Referencias
Primero :-
Los tipos primitivos son los tipos básicos de datos: byte
, short
, int
, long
, float
, double
, boolean
, char
. Las variables primitivas almacenan valores primitivos. Los tipos de referencia son cualquier clase instanciable así como las matrices: String
, Scanner
, Random
, Die
, int[]
, String[]
, etc. Las variables de referencia almacenan las direcciones en ubicaciones en la memoria donde se almacenan los datos.
Segundo:-
Los tipos primitivos almacenan valores pero el tipo de referencia maneja los objetos de la tienda en el espacio del montón. Recuerde, las variables de referencia no son punteros como podría haber visto en C y C ++, son solo identificadores de objetos, de modo que puede acceder a ellos y hacer algún cambio en el estado del objeto.
estos son tipos de datos primitivos
- booleano
- personaje
- byte
- corto
- entero
- largo
- flotador
- doble
guardado en la pila en la memoria que es memoria administrada, por otro lado, tipo de datos de objeto o tipo de datos de referencia almacenados en el encabezado en la memoria administrada por GC
esta es la diferencia más importante
Tipos de datos primitivos:
- Predefinido por el idioma y nombrado por una palabra clave
- Total no = 8
booleano
carbonizarse
byte
corto
entero
largo
flotador
doble
Tipos de datos de referencia / objeto:
- Creado utilizando constructores definidos de las clases
- Usado para acceder a objetos
- El valor predeterminado de cualquier variable de referencia es nulo
- La variable de referencia se puede usar para referirse a cualquier objeto del tipo declarado o cualquier tipo compatible.