What is the result?

Refer to the Exhibit.

1. public class A {
2.
3. private int counter = 0;
4.
5. public static int getInstanceCount(){
6. return counter;
7. }
8.
9. public A(){
10. counter++;
11. }
12. }
13.

Given this code from Class B:

A a1 = new A();
A a2 = new A();
A a3 = new A();
System.out.println(A.getInstanceCount());

What is the result?

Refer to the Exhibit.

1. public class A {
2.
3. private int counter = 0;
4.
5. public static int getInstanceCount(){
6. return counter;
7. }
8.
9. public A(){
10. counter++;
11. }
12. }
13.

Given this code from Class B:

A a1 = new A();
A a2 = new A();
A a3 = new A();
System.out.println(A.getInstanceCount());

What is the result?

A.
Compilation of class A fails.

B.
Line 28 prints the value 3 to System.out.

C.
Line 28 prints the value 1 to System.out.

D.
A runtime error occurs when line 25 executes.

E.
Compilation fails because of an error on line 28.

Explanation:
Main.java:6: non-static variable counter cannot be referenced from a static context
return counter;
^
1 error



Leave a Reply 1

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