Cual es la diferencia entre “puntero” y “referencia”? Entiendo que ambos apuntan a una dirección en memoria.

Brian Smith Chuquiruna Leon

Brian Smith Chuquiruna Leon

Pregunta
studenthace 4 años

Cual es la diferencia entre “puntero” y “referencia”? Entiendo que ambos apuntan a una dirección en memoria.

4 respuestas
para escribir tu comentario
    Jesús Ramírez

    Jesús Ramírez

    studenthace 4 años

    Si usted hace esto

    int x = 6; int y = 6; if(x == y){ System.out.println("Son iguales"); } else { System.out.println("Son diferentes"); }

    Se imprimira Son iguales porque 6 es igual a 6. Sin embargo si usted hace

    String[] nombre = {"Juan"}; String[] nombre2 = {"Juan"}; if (nombre == nombre2) { System.out.println("Son iguales"); } else { System.out.println("Son diferentes"); }

    Si haces dos arreglos de String con el mismo contenido imprime diferentes porque cada variable, nombre y nombre2 hacen referencia a direcciones de memorias distintas, no se está evaluando los contenidos sino las direcciones mismas

    Jesús Ramírez

    Jesús Ramírez

    studenthace 4 años

    Los OBJETOS en java se guardan en variables que tiene la referencia en memoria de ese OBJETO. ¿Qué es un objeto? todo lo que no sea un dato primitivo, es decir, byte, short, int, long, float, double, boolean, char, es un OBJETO

    Jesús Ramírez

    Jesús Ramírez

    studenthace 4 años

    Un puntero ES una VARIABLE que guarda la dirección de memoria de OTRA VARIABLE, en java no se ve eso pero en lenguajes como C, sí. Todas las variables se guardan en un espacio de la memoria RAM, un puntero guarda la dirección, "la forma de llegar" a la variable, un puntero también tiene su propia dirección de memoria porque es una variable. Una variable que guarda a un OBJETO en Java lo que realmente hace es, la variable guarda la dirección de memoria donde está el OBJETO, hace REFERENCIA directamente a la dirección de la memoria en donde se guarda ese OBJETO.

    Pablo Antipan Quiñenao

    Pablo Antipan Quiñenao

    studenthace 4 años

    Hola Brian! Este enlace lo explica bien! Saludos!

Curso de Java SE Orientado a Objetos

Curso de Java SE Orientado a Objetos

Programa aplicaciones en Java usando orientación a objetos. Aprende a utilizar clases, herencia, polimorfismo, interfaces, encapsulamiento, métodos, modularidad y más, simulando la administración de citas médicas.

Curso de Java SE Orientado a Objetos
Curso de Java SE Orientado a Objetos

Curso de Java SE Orientado a Objetos

Programa aplicaciones en Java usando orientación a objetos. Aprende a utilizar clases, herencia, polimorfismo, interfaces, encapsulamiento, métodos, modularidad y más, simulando la administración de citas médicas.