AinzOwlGown
AinzOwlGown

Reputation: 77

define and initilize array from a seperate class

I have 2 different classes, Employee, PersonnelManager. I am trying to declare and instantiate an array of Employee in PersonnelManager. without using inheritance, just two completely seperate classes

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
    }

in the Constructor of PersonnelManager How can I instantiate the array. Thank you.

Upvotes: 2

Views: 32

Answers (3)

Dipankar Baghel
Dipankar Baghel

Reputation: 2069

You can initialize the array like below -

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

or you can pass the size in constructor to make it dynamic-

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

Hope this will help you.

Upvotes: 1

Malcolm Crum
Malcolm Crum

Reputation: 4879

I think you're trying to instantiate an empty array of Employees in your PersonnelManager, but you're using the wrong syntax. You can do that with this:

EmployeesArray = new EmployeesArray[size];

Note that you'll have to supply a size. If you want more flexibility, then you might want to use a List instead of an array:

public  class PersonnelManager {

    public List<Employee> employees;

    public PersonnelManager() {
        employees = new ArrayList<>();
    }
}

Upvotes: 0

sachin
sachin

Reputation: 827

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
}

Upvotes: 1

Related Questions