Declarar y crear un objeto en Java
EJEMPLO Supongamos que, en un programa escrito en Java, se ha definido la siguiente clase (Persona):
public class Persona
{
// Atributos de la clase Persona
private String nombre;
private int edad;
// Métodos de la clase Persona
public String getNombre()
{
return nombre;
}
public int getEdad()
{
return edad;
}
public void setNombre(String n)
{
nombre = n;
}
public void setEdad(int e)
{
edad = e;
}
}
Obsérvese que, en el cuerpo de la clase –entre las llaves {}– se han definido:
- 2 atributos –también llamados campos– privados (private): nombre y edad.
- 4 métodos públicos (public): getNombre, getEdad, setNombre y setEdad.
De tal forma que, todos los objetos que se creen de la clase Persona tendrán un nombre y una edad que podrán almacenar valores distintos, pudiendo ser modificados o consultados cuando se invoque a sus métodos definidos:
- setNombre permite asignar –set– un nombre (String) a un objeto de la clase Persona.
- setEdad permite asignar –set– una edad (int) a un objeto de la clase Persona.
- getNombre sirve para consultar –get– el nombre de un objeto de la clase Persona.
- getEdad sirve para consultar –get– la edad de un objeto de la clase Persona.
Para declarar y crear un objeto de la clase Persona se puede escribir:
Persona p1; // Declaración de la variable p1 de tipo Persona
p1 = new Persona(); // Creación de un objeto de la clase Persona
Nota: con la declaración Persona p1, se está reservando un espacio de memoria para almacenar una referencia (dirección de memoria) a un objeto de la clase Persona. Al respecto, es importante comprender que p1 no es un objeto, sino una variable que almacenará la referencia a un objeto (de la clase Persona) que todavía no existe. Seguidamente, mediante la sentecia p1 = new Persona(), el operador new creará un objeto de la clase Persona, reservando memoria para guardar sus atributos (nombre y edad en este caso). Finalmente, con el operador de asignación (=), la dirección de memoria donde esté creado el objeto, es asignada a p1.
También, se puede indicar lo mismo en una sola línea:
Persona p1 = new Persona();
En el apartado siguiente de este tutorial, se muestra cómo visualizar en pantalla los valores que por defecto asigna Java a los atributos de un objeto recién creado.