Identifique y muestra la diferencia de pasar argumentos por referencia y por valor. Ayuda: En el Manual de Java SE 8 en la pagina 173 dice:"Cuando se pasa una variable primitiva dentro de un método, esta pasa como valor......, mientras que cuando se pasa un objeto como parámetro dentro de un método, éste pasa por referencia.
De un ejemplo que permita demostrar esta afirmación (en el manual hay un ejemplo con valores enteros, inténtelo hacer con otra variable primitiva).
package certification1;
public class valor_referencia {
int valor1;
public valor_referencia(int valor){
valor1 = valor;
}
void referencia(valor_referencia a){
a.valor1 *= 2; // valor1 cambiara
}
void valor(int a){
a *= 2; // valor1 NO cambiara
}
}
package certification1;
public class Certification1 {
public static void main(String[] args) {
try{
{
System.out.println("Por Referencia");
valor_referencia x = new valor_referencia(12);
x.referencia(x);
System.out.println(x.valor1);
}
{
System.out.println("Por valor");
int valor1 = 12;
valor_referencia x = new valor_referencia(valor1);
x.valor(2);
System.out.println(valor1);
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}
No comments:
Post a Comment