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) {
       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())

    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"));
       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);


Edited by sapure

4 Years
Discussion Span
Last Post by riahc3
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();
        bye b=new bye();



(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 by riahc3

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.