Так что я бездельничаю с наследственностью и полиморфизмом.Все шло отлично, пока я не добрался до тестера, где мне нужно было создать массив типовых сотрудников (мой суперкласс).В настоящее время попытка запустить эту программу выдает мне эту ошибку.
Исключение в потоке "main" java.lang.NullPointerException
Я предполагаю, что это как-то связано с тем, что я заявляю, что employeeArray = null ;.Но, пропуская это, я получаю сообщение об ошибке при помещении каждого сотрудника в массив, он говорит, что массив сотрудников должен быть инициализирован, и по умолчанию это делается путем включения employeeArray = null ;.Книга, которая у меня есть на Java, на самом деле не касается подобных массивов, и у меня были проблемы с поиском ответа на мои проблемы в Интернете.Любая помощь, которую кто-либо может предложить, будет принята с благодарностью.
Я также попробовал что-то подобное
Employee [] employeeArray = new Employee[3] ;
Это не вернуло никаких ошибок, но не вернуло то, что я искал вообще.Это больше похоже на то, что мне нужно, но у меня проблемы в супер и подклассах?
public class EmployeeTest {
public static void main(String[] args){
Employee [] employeeArray = null;
SalariedEmployee employee1 = new SalariedEmployee("Esther", "Smith", "111-111-111", 6, 2011, 2400);
CommissionedEmployee employee2 = new CommissionedEmployee("Nick", "McRae", "222-222-222", 1, 1998, 50000, 0.1);
SalPlusCommEmployee employee3 = new SalPlusCommEmployee("Dan", "Mills", "333-333-333", 3, 2011, 1000, 0.05, 500 );
employeeArray[0] = employee1;
employeeArray[1] = employee2;
employeeArray[2] = employee3;
System.out.println(employeeArray[0].getEmployeeDetails);
System.out.println(employee1.toString()); // call the method from the sub class SalariedEmployee
System.out.println(employee2.toString()); // call the method from the sub class CommissionedEmployee
System.out.println(employee3.toString()); // call the method from the sub class SalPlusCommEmployee
}