Java Programming - Declarations and Access Control - Discussion

6. 

What will be the output of the program?

interface Count 
{
    short counter = 0;
    void countUp();
}
public class TestCount implements Count 
{
    public static void main(String [] args) 
    {
        TestCount t = new TestCount();
        t.countUp();
    }
    public void countUp() 
    {
        for (int x = 6; x>counter; x--, ++counter) /* Line 14 */
        {
            System.out.print(" " + counter);
        }
    }
}

[A]. 0 1 2
[B]. 1 2 3
[C]. 0 1 2 3
[D]. 1 2 3 4
[E]. Compilation fails

Answer: Option E

Explanation:

The code will not compile because the variable counter is an interface variable that is by default final static. The compiler will complain at line 14 when the code attempts to increment counter.


Swetha said: (Jun 20, 2012)  
Interface variables are by default they are public final and static its like constant.

Post your comments here:

Name *:

Email   : (optional)

» Your comments will be displayed only after manual approval.