определить и инициализировать массив из отдельного класса - PullRequest
2 голосов
/ 13 февраля 2020

У меня есть 2 разных класса, Employee, PersonnelManager. Я пытаюсь объявить и создать экземпляр массива Employee в PersonnelManager. без использования наследования, просто два полностью отдельных класса

public abstract class Employee  {

      private String firstName;
      private String lastName;
      private double wage;

      public Employee() {
         firstName = "";
         lastName = "";
         wage = 0.0;
      }
   }

public  class PersonnelManager {

    public Employee [] EmployeesArray;

    public PersonnelManager() {
        EmployeesArray= {Employee.this()}; // this is not working
    }

в конструкторе PersonnelManager Как создать экземпляр массива. Спасибо.

Ответы [ 3 ]

1 голос
/ 13 февраля 2020

Вы можете инициализировать массив, как показано ниже -

public PersonnelManager() {
        EmployeesArray= new EmployeesArray[5]; 
    }

или вы можете передать размер в конструктор, чтобы сделать его динамическим c -

public PersonnelManager(int size) {
            EmployeesArray= new EmployeesArray[size]; 
        }

Надеюсь, это поможет вам .

1 голос
/ 13 февраля 2020
public abstract class Employee  {

  private String firstName;
  private String lastName;
  private double wage;

  public Employee() {
     firstName = "";
     lastName = "";
     wage = 0.0;
  }
}

public  class PersonnelManager {

public Employee [] EmployeesArray;

public PersonnelManager() {

    EmployeesArray= new Employee[10]; // 10 is the size of an array
}
0 голосов
/ 13 февраля 2020

Я думаю, что вы пытаетесь создать пустой массив Employees в вашем PersonnelManager, но вы используете неправильный синтаксис. Вы можете сделать это с помощью:

EmployeesArray = new EmployeesArray[size];

Обратите внимание, что вам нужно будет указать размер. Если вам нужна большая гибкость, вы можете использовать список вместо массива:

public  class PersonnelManager {

    public List<Employee> employees;

    public PersonnelManager() {
        employees = new ArrayList<>();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...