En Java, una Clase es la plantilla base para fabricar objetos. Los Atributos representan el estado o datos del objeto y deben declararse con el nivel de acceso private para aplicar el principio de encapsulamiento.
Usuario.java (Atributos)
JAVA
1publicclass Usuario {
2// Atributos privados (Estado del objeto)
3privateString nombre;
4privateint edad;
5privateString email;
6}
2. Constructores sin Parámetros, con Parámetros y Sobrecarga
Un Constructor es un método especial que tiene exactamente el mismo nombre de la clase y no retorna ningún valor. Se ejecuta automáticamente al instanciar la clase con la palabra reservada new.
La Sobrecarga de Constructores (Overloading) nos permite definir múltiples constructores dentro de la misma clase, diferenciados por la cantidad o tipo de sus parámetros.
Usuario.java (Sobrecarga de Constructores)
JAVA
1publicclass Usuario {
2privateString nombre;
3privateint edad;
4
5// 1. Constructor sin parámetros (Por defecto)
6publicUsuario() {
7this.nombre = "Sin nombre";
8this.edad = 0;
9 }
10
11// 2. Constructor con parámetros (Sobrecargado)
12publicUsuario(String nombre, int edad) {
13this.nombre = nombre;
14this.edad = edad;
15 }
16}
3. Métodos Getters y Setters
Para acceder y modificar los atributos privados desde fuera de la clase de manera controlada y segura, utilizamos los métodos Getters (Lectura) y Setters (Escritura):
Usuario.java (Getters y Setters)
JAVA
1// Getter para obtener el nombre
2publicStringgetNombre() {
3returnthis.nombre;
4}
5
6// Setter para modificar el nombre con validación opcional
7publicvoidsetNombre(String nombre) {
8if (nombre != null && !nombre.isEmpty()) {
9this.nombre = nombre;
10 }
11}
12
13// Getter y Setter para edad
14publicintgetEdad() {
15returnthis.edad;
16}
17
18publicvoidsetEdad(int edad) {
19if (edad >= 0) {
20this.edad = edad;
21 }
22}
4. El Método toString() e Impresión en Consola con System.out.println
En Java, todas las clases heredan de la clase base Object, la cual incluye el método toString(). Sobrescribir este método con @Override nos permite devolver una representación textual limpia del objeto al ejecutar System.out.println().
Main.java (toString y System.out.println)
JAVA
1publicclass Main {
2publicstaticvoidmain(String[] args) {
3// Uso del constructor sobrecargado con parámetros
4 Usuario u1 = newUsuario("Carlos", 25);
5
6// Uso del constructor sin parámetros
7 Usuario u2 = newUsuario();
8
9// Modificando atributos a través de Setters
10 u2.setNombre("Ana");
11 u2.setEdad(30);
12
13// Impresión en consola usando System.out.println y toString()
14 System.out.println(u1); // Llama automáticamente a u1.toString()
15 System.out.println("Detalle de U2: " + u2.toString());