1. Asignación de Variables de referencia de objeto.
Variables de referencia de objeto actúan diferente de lo que puede esperar cuando produzca una
asignación. Por ejemplo, ¿qué parece que el siguiente fragmento?
Box b1 = new Box();
Box b2 = b1;
Podría pensar que B2 se asigna una referencia a una copia del objeto que hace referencia b1. Es
decir, podría pensar que el b1 y b2 se refieren a objetos separados y distintos. Sin embargo, esto
sería un error. En su lugar, después de que se ejecuta este fragmento, b1 y b2 se ambos se refieren
al mismo objeto. La asignación de b1 a b2 no asignar cualquier memoria o copiar cualquier parte del
objeto original. Simplemente hace hacer referencia al mismo objeto como hace b1 b2. Por lo tanto,
los cambios realizados en el objeto a través de b2 afectará el objeto a la que b1 se refiere, ya que
son el mismo objeto. Esta situación se muestra aquí:
Aunque ambos b1 y b2 se refieren al mismo objeto, que no están vinculados de ninguna otra forma.
Por ejemplo, una cesión subsiguiente a b1 simplemente desenganche b1 desde el objeto original sin
afectar el objeto o que afectan a b2. Por ejemplo:
Box b1 = new Box();
Box b2 = b1;
// ...
b1 = null;
Aquí, b1 se ha establecido en null, pero b2 puntos todavía al objeto original. Al asignar una variable
de referencia de objeto a otra variable de referencia de objeto, no va a crear una copia del objeto,
sólo está realizando una copia de la referencia.
2. La introducción de métodos.
Como se mencionó al principio de este capítulo, las clases suelen ser de dos cosas: variables y
métodos de instancia. El tema de los métodos es una grande porque Java les da tanta potencia y
flexibilidad. De hecho, gran parte del siguiente capítulo está dedicado a métodos. Sin embargo, hay
algunos principios básicos que necesita aprender ahora para que usted puede empezar a añadir
métodos a sus clases. Esta es la forma general de un método:
type name(parameter-list) {
// body of method
}
Aquí, que especifica el tipo de datos devueltos por el método. Esto puede ser cualquier tipo válido,
incluidos los tipos de clase que cree. Si el método no devuelve un valor, el tipo de valor devuelto
debe ser nulo. El nombre del método especificado por nombre. Esto puede ser cualquier identificador
jurídico distintos de los ya utilizados por otros elementos dentro del ámbito actual. La lista de
parámetros es una secuencia de pares de tipo y el identificador separados por comas. Los
parámetros son esencialmente las variables que reciben el valor de los argumentos pasados al
método cuando se le llama. Si el método no tiene parámetros, la lista de parámetros estará vacía.
Métodos que tienen un tipo de retorno distinto de void regreso un valor a la rutina de llamada
mediante el siguiente formulario de la declaración de retorno:
return value;
Aquí, el valor es el valor devuelto. En las siguientes secciones, se verá cómo crear varios tipos de
métodos, incluyendo aquellas que tienen parámetros y aquellos que devuelven valores.