Wywołanie konstruktora w konstruktorze

package pl.am.object1.lesson23;

public class Konstuowanie {
    public static void main(String[] args) {
        Pracownik pracownik1 = new Pracownik("Jan", "Kowalski");
        Pracownik pracownik2 = new Pracownik("Wojciech", "Nowak", 55);

        System.out.println(pracownik1);
        System.out.println(pracownik2);

        System.out.println(Pracownik.infoFirma());
    }
}
package pl.am.object1.lesson23;

public class Pracownik {
    public static final String NAZWA_FIRMY = "Usługi Wszelakie";
    private static int nextId = 0;
    private int id = ++nextId;
    private final String imie;
    private String nazwisko;
    private String stanowisko = "robotnik";
    private int wiek;
    private double pensja = 2600;
    private boolean zaliczoneBHP;

    public Pracownik(String imie, String nazwisko, int wiek) {
        this.imie = imie;
        this.nazwisko = nazwisko;
        this.wiek = wiek;
    }

    public Pracownik(String imie, String nazwisko) {
        this(imie, nazwisko, 18);
    }


    public String toString() {
        String infoPracownik = "Pracownik: " + this.getNazwa()+ ", id: " + this.id + " wiek: "
                + this.wiek + ", zarabia: " + this.pensja;

        if (this.zaliczoneBHP) {
            infoPracownik += ", zaliczone BHP";
        } else {
            infoPracownik += ", NIE zaliczone BHP";
        }

        return infoPracownik;
    }


    public void zwiekszPensje() {
        this.pensja = 1.15 * this.pensja;
    }

    public String getImie() {
        return this.imie;
    }

    public String getNazwisko() {
        return nazwisko;
    }

    public String getNazwa() {
        return this.stanowisko + " " + this.imie + " " + this.nazwisko;
    }

    public int getWiek() {
        return wiek;
    }

    public double getPensja() {
        return pensja;
    }

    public boolean isZaliczoneBHP() {
        return zaliczoneBHP;
    }

    public void setNazwisko(String noweNazwisko) {
        if (noweNazwisko == null || noweNazwisko.equals("")) {
            System.out.println("Nie można ustwić nazwiska na pusty łańcuch znaków");
        } else {
            this.nazwisko = noweNazwisko;
        }
    }

    public void setStanowisko(String stanowisko) {
        this.stanowisko = stanowisko;
    }

    public void setWiek(int wiek) {
        this.wiek = wiek;
    }

    public void setPensja(double pensja) {
        this.pensja = pensja;
    }

    public void setZaliczoneBHP(boolean zaliczoneBHP) {
        this.zaliczoneBHP = zaliczoneBHP;
    }

    public static String infoFirma() {
        return "Firma: " + NAZWA_FIRMY + " zatrudnia " + nextId + " pracowników";
    }
}

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *