Java Programming - Declarations and Access Control - Discussion

Discussion Forum : Declarations and Access Control - Finding the output (Q.No. 5)
5.
What will be the output of the program?
public class Test 
{
    public int aMethod()
    {
        static int i = 0;
        i++;
        return i;
    }
    public static void main(String args[])
    {
        Test test = new Test();
        test.aMethod();
        int j = test.aMethod();
        System.out.println(j);
    }
}
0
1
2
Compilation fails.
Answer: Option
Explanation:

Compilation failed because static was an illegal start of expression - method variables do not have a modifier (they are always considered local).

Discussion:
14 comments Page 2 of 2.

Raju said:   1 decade ago
The integer value returned is not obtained in any variable.

Is it not an error?

Manish said:   1 decade ago
We can only have final variable as local.

Kapil said:   1 decade ago
Static variables can only be declared as Global Variables (not local).

Dinu said:   2 decades ago
This not the correct explanation yaar


Post your comments here:

Your comments will be displayed after verification.