Hallo liebe Leute,
kann mir jemand mal eben flott darlegen, warum ich hier bei dem "peter" eine Null-Pointer Exc bekomme? Steh gerade etwas auf dem Schlauch.
Konsolenausgabe:
java.lang.NullPointerException: Cannot invoke "facadePattern.Worker.getTotalDaysOff()" because "this.worker" is null
at FPattern//facadePattern.CalculateLeftAmountOfDaysOff.<init>(CalculateLeftAmountOfDaysOff.java:11)
at FPattern//facadePattern.Facade_WorkerDataManamgement.<init>(Facade_WorkerDataManamgement.java:13)
at FPattern/facadePattern.WorkerGeneralManagement.main(WorkerGeneralManagement.java:13)
Danke
kann mir jemand mal eben flott darlegen, warum ich hier bei dem "peter" eine Null-Pointer Exc bekomme? Steh gerade etwas auf dem Schlauch.
Java:
public class WorkerGeneralManagement {
public static void main(String[] args) {
Worker peter = new Worker();
peter.setName("Peter");
peter.setExtraPayedVacation(2); //Peter erhält 2 Zusatztage Urlaub
Facade_WorkerDataManamgement facade = new Facade_WorkerDataManamgement(peter);
facade.setTknDays(4); //Peter nimmt 4 Tage Urlaub
facade.setTknExtraDays(1); //Peter nimmt einen Zusatztag Urlaub
facade.calcDaysNotAtWorkInTotal();
}
}
public class Worker {
private String name;
private double totalDaysOff = 30.0;
private double extraPayedVacation = 0.0; //für Peter sind es 2
//weitere Instanzvariablen und getter & setter
}
public class Facade_WorkerDataManamgement {
Worker worker;
private double tknDays;
private double extraDays;
Facade_WorkerDataManamgement (Worker newWorker){ //hier kommt der Peter an
this.worker = newWorker;
}
CalculateLeftAmountOfDaysOff calcDaysOff = new CalculateLeftAmountOfDaysOff(worker); //hier wird der Peter übergeben
CalculateExtraPayedVacation calcExtraOff = new CalculateExtraPayedVacation(worker);
public void setTknDays (double newTknDays) {
this.tknDays = newTknDays;
}
public void setTknExtraDays (double newExtraDays) {
extraDays = newExtraDays;
}
public double calcDaysNotAtWorkInTotal() {
//Methodeninhalt
}
}
public class CalculateLeftAmountOfDaysOff {
Worker worker;
CalculateLeftAmountOfDaysOff (Worker newWorker){ //über die facade wird hier doch dann ebenfalls der Peter übergeben
this.worker = newWorker;
}
private double totalAmnt = worker.getTotalDaysOff(); //hierauf verweist die Exception: worker is null?
public double calculateOffDaysLeft (double tknAmnt) {
//Methodeninhalt
}
}
Konsolenausgabe:
java.lang.NullPointerException: Cannot invoke "facadePattern.Worker.getTotalDaysOff()" because "this.worker" is null
at FPattern//facadePattern.CalculateLeftAmountOfDaysOff.<init>(CalculateLeftAmountOfDaysOff.java:11)
at FPattern//facadePattern.Facade_WorkerDataManamgement.<init>(Facade_WorkerDataManamgement.java:13)
at FPattern/facadePattern.WorkerGeneralManagement.main(WorkerGeneralManagement.java:13)
Danke