Java quiz 03: Static and instance variables

  Quizzes     Assignments     Puzzles     Easy exercises     Required knowledge  
< Java Quizzes    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 

It is important for every Java programmers to understand the difference between class(static) variables and instance variables. Therefore I wrote this quiz, which clarifies those differences.

Java quiz 3: The difference between static and instance variables

Level: Normal

What is written to the standard output as the result of executing the following code?

public class MyClass
  int x;
  static int y;

  MyClass(int i)
    x += i;
    y += i;
  public static void main(String[] args)
    new MyClass(2);
    MyClass mc = new MyClass(3);
    System.out.print(mc.x + "," + mc.y);
Author: Sar Maroof

Select the correct answer.

Answer explanation

  1. By creating the first object, we pass the parameter value 2 to the constructor.
    The statement x += i; increments the value of x by 2. the variable x is not initialized.
    Therefore, x = 0 + 2 = 2.
    The statement y += i; increments the value of y by 2. The initial value of y is 0, therefore y = 0 + 2 = 2.
  2. By creating the second object mc, we pass the variable 3 as parameter to the constructor.
    The statement x += i; increments the value of x by 3. The variable x is an instance variable, therefore
    its value for the object mc is equal to 3.
    The statement y += i; increments the value of y by 3. The variable y is a static (class) variable and its last
    value was 2. Therefore the value of y becomes 2 + 3 = 5 and that value is the same for all the objects of the class.The correct answer is c. 3, 5.

The second edition of Learn Java and Master Writing Code is easy to understand, organized to learn Java voor beginners and it guides readers to master Java code by solving more than 100 exercises and assignments. This book explains each chapter properly before starting with the exercises and the assignments. Available on Amazon. See inside the book here!

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!


Add a Comment
  1. Thanks Sir U Clear My Confusion

    1. Thanks for your comment!

Leave a Reply

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