Hola Antony! Te paso un ejemplo similar al que hizo el profe:
public class Cuenta {
private static int total = 0; // Variable estática para mantener el conteo de cuentas
private int numeroCuenta;
private String titular;
public Cuenta(String titular) {
this.titular = titular;
this.numeroCuenta = generarNumeroCuenta();
total++; // Incrementa el contador de cuentas cada vez que se crea una nueva cuenta
}
private static int generarNumeroCuenta() {
// Lógica para generar un número de cuenta único
return total + 1;
}
public static int getTotalCuentas() {
return total; // Método estático para obtener el valor de "total"
}
public static void main(String[] args) {
Cuenta cuenta1 = new Cuenta("Pepe");
Cuenta cuenta2 = new Cuenta("Moni");
// Acceso al método estático "getTotalCuentas" desde la clase Cuenta
System.out.println("Número de cuentas: " + Cuenta.getTotalCuentas());
// No se requiere una instancia específica para llamar al método estático getTotalCuentas()
}
}
En este ejemplo, la clase "Cuenta" tiene una variable estática llamada "total" que se utiliza para mantener el conteo de la cantidad total de cuentas creadas. Esta variable es compartida por todas las instancias de la clase y se accede a nivel de clase utilizando el nombre de la clase seguido del nombre de la variable (Cuenta.total).
Cuando se crea una nueva cuenta mediante el constructor de la clase, se incrementa el contador de cuentas total. El método estático generarNumeroCuenta utiliza el valor de total para generar un número de cuenta único.
El método estático getTotalCuentas permite obtener el valor actual de total y se puede llamar directamente desde la clase Cuenta, sin necesidad de crear una instancia específica.
En el método main, se crean dos instancias de la clase Cuenta y luego se muestra el número total de cuentas utilizando el método estático getTotalCuentas.
En resumen, este ejemplo demuestra cómo los miembros estáticos, tanto variables como métodos, pertenecen a la clase en sí y no a instancias individuales. Se utilizan para mantener información común y se acceden a nivel de clase, lo que permite compartir datos entre todas las instancias de la clase sin depender de una instancia en particular.