In this example, what's the difference between creating a class variable from the "class Employee" & creating an object from the class GenQueue ?!

What's the difference in uses and implementation?

import java.util.LinkedList;
    class GenQueue {
       private LinkedList list = new LinkedList();
       public void enqueue(E item) {
           list.addLast(item);
     }
       public E dequeue() {
           return list.poll();
     }
       public boolean hasItems() {
           return !list.isEmpty();
     }
       public int size() {
           return list.size();
     }
       public void addItems(GenQueue q) {
           while (q.hasItems())
               list.addLast(q.dequeue());
     }
    }

    public class GenQueueTest {
     public static void main(String[] args) {
       GenQueue empList;
       empList = new GenQueue();
       GenQueue hList;
       hList = new GenQueue();
       hList.enqueue(new HourlyEmployee("T", "D"));
       hList.enqueue(new HourlyEmployee("G", "B"));
       hList.enqueue(new HourlyEmployee("F", "S"));
       empList.addItems(hList);
       System.out.println("The employees' names are:");
       while (empList.hasItems()) {
          Employee emp = empList.dequeue();
          System.out.println(emp.firstName + " " 
         + emp.lastName);
       }
      }
    }

     class Employee {
        public String lastName;
        public String firstName;
        public Employee() {
    }
       public Employee(String last, String first) {
          this.lastName = last;
          this.firstName = first;
      }
       public String toString() {
          return firstName + " " + lastName;
      }
    }

    class HourlyEmployee extends Employee {
       public double hourlyRate;
       public HourlyEmployee(String last, String first) {
           super(last, first);
      }
 }

Thanks.

Edited 4 Years Ago by sapure

Shape d = new Shape("square");
Person p = new Person("Sapure");

they both take a String as parameter, but clearly by the type they are very different. the difference is normally also in the type of functionalities provided by the classmembers.

I wont try to be as rude as stultuske

Lets say you have:

public class soemthing 
{

class hi
    {
        String hello="i say hello";
    }

    class bye
    {
        String goodbye="i say goodbye";
    }


public static void main(String[] args) 
    {

        hi h=new hi();
        System.out.println(h.hello);
        bye b=new bye();
        System.out.println(b.goodbye);

  }

}

(BTW, dont copy and paste the code above as it doesnt work. It is a example)

As you can see I have two (variable) objects based off two classes. The first one (h) only has access to the variable hello because its inside the class and nonvisible. Same thing for the other.

Edited 4 Years Ago by riahc3

This question has already been answered. Start a new discussion instead.