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.

Recommended Answers

All 4 Replies

ehm ... what's the difference between a Car and an Tomato? that's about the same question.

Forgive my ignorance & please explain :)

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.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.