los objetos por referencia en Java, son similares a los apuntadores en C?
Es valida la analogía?
los objetos por referencia en Java, son similares a los apuntadores en C?
Es valida la analogía?
¡Hola Antonio, espero que estés bien!
La analogía entre los objetos por referencia en Java y los apuntadores en C es válida en el sentido de que ambos apuntan a la ubicación de un objeto en la memoria. Sin embargo, hay diferencias importantes en cuanto a su funcionamiento y comportamiento.
En Java, cuando creas una instancia de un objeto, en realidad estás creando un nuevo bloque de memoria que almacena la información de ese objeto.
La variable que utilizas para referenciar ese objeto es en realidad una referencia a ese objeto en la memoria.
Por lo tanto, al manipular objetos en Java, estás manipulando referencias a esos objetos.
Por ejemplo, en el código que has compartido:
Pelicula pelicula1 = new Pelicula("Avatar", 2009);
Pelicula pelicula2 = new Pelicula("The Matrix", 1999);
Pelicula pelicula3 = pelicula1;
La variable pelicula1
y pelicula3
hacen referencia al mismo objeto en la memoria, mientras que pelicula2
hace referencia a un objeto diferente.
Es importante recordar que al comparar referencias de objetos en Java usando el operador de igualdad ==, estás comparando las referencias en sí, no los objetos a los que apuntan. Esto es diferente a la comparación de valores en C, donde los apuntadores se comparan directamente.
Espero que esta explicación te haya ayudado a entender mejor las referencias a objetos en Java. ¡Sigue adelante con tu aprendizaje!
Espero haber ayudado y buenos estudios!