Java puzzle 05: Creating objects

  Quizzes     Assignments     Puzzles     Easy exercises     Required knowledge  
< Java Puzzles   Green = Easy,  Blue = Normal,  Red = Hard
Select    01   02   03   04   05   06   07   08   09   10   11   12   13   14   15 
 16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   By title 
>

In this simple Java puzzle, we create two objects namely empA and empB.
We assigned the name Jack to the variable name of the object empA, and
assigned the name Emma to the variable name of the object empB.

What is the output of this program and why?

Java puzzle 5: Creating objects

Level: Normal

public class Employee
{
  static String name;
  
  public static void main(String[] args)
  {
    Employee empA = new Employee();
    Employee empB = new Employee();
    empA.name = "Jack";
    empB.name = "Emma";
    System.out.print(empA.name);
    System.out.print(", ");
    System.out.print(empB.name);
  }
}
Author: Sar Maroof

Answer explanation

  1. The objects empA and empB are two different objects, but the variable name is static.
  2. A static member of a class could be a variable or a method and
    it belongs only to the class unlike instance members which belong to the objects.
  3. The last time we assigned the value of the static variable name to Emma.
    That is why this program writes “Emma, Emma” to the standard output.





Sar Maroof is a professional software development teacher, gives master classes and publishes technical articles. He is also an expert software developer and worked for several big as well as small companies and later as a freelancer.

 Subscribe to Sar Maroof's RSS feeds!
 Mail this page to a friend!
 Bookmark this page!

Leave a Reply

Your email address will not be published. Required fields are marked *