Java – uso de static
package pruebas;
public class Pruebas {
public static void main(String[] args) {
//https://www.youtube.com/watch?v=QIV7FfXa-zY
Empleados trabajador1 = new Empleados("Paco");
Empleados trabajador2 = new Empleados("Ana");
trabajador1.cambiarSeccion("RRHH");
System.out.println(trabajador1.devuelveDatos());
System.out.println(trabajador2.devuelveDatos());
System.out.println(trabajador1.devuelveDatosdos());
Empleados.Idsegunda++;
System.out.println(trabajador2.devuelveDatosdos());
// usamos la variable idsiguiente
Empleados trabajador3 = new Empleados("Felipe");
Empleados trabajador4 = new Empleados("Margarita");
System.out.println(trabajador3.devuelveDatostres());
System.out.println(trabajador4.devuelveDatostres());
}
}
class Empleados {
// private String nombre; <-- añadimos final porque no vamos a cambiar el nombre de la persona private final String nombre; private String seccion; private int Idprimera; // la ponemos public y static // se pone en cursiva porque es una variable DE CLASE // no pertenece a ningún objeto public static int Idsegunda; // todos tendrán idtercera, pero solo la clase tendrá idsiguiente private int Idtercera; private static int Idsiguiente=1; public Empleados(String nom){ nombre=nom; seccion="Administracion"; Idsegunda=1; // Usamos la variable de clase desde el constructor // ahora al crear los objetos, se incrementa sola Idtercera=Idsiguiente; Idsiguiente++; } public Empleados(String nom, int Id) { nombre=nom; seccion="Administracion"; this.Idprimera=Id; } public void cambiarSeccion(String seccion) { //setter this.seccion=seccion; } public String devuelveDatos() { return "El nombre es "+nombre+" y la sección es "+seccion+" y su id es "+Idprimera; } public String devuelveDatosdos() { return "El nombre es "+nombre+", la sección es "+seccion+" y su id es "+Idsegunda; } public String devuelveDatostres() { return "El nombre es "+nombre+", la sección es "+seccion+" y su id es "+Idtercera; } }