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.

Archana said:   1 decade ago
We cannot access non-static methods in static method.

Anurag Tiwari(DjAnurag) said:   1 decade ago
We can not declare static variable in to the methods, run this program by method must be declare static.

public static int aMethod()
{
static int i = 0;
i++;
return i;
}

**Important Notes: Memory of static variable is declare in Compile Time not Run time, Memory of entire Method variables are declare in run time because it's local variable not Static variable.
(1)

Vimmi said:   1 decade ago
There are so many answers here but the correct is Static variables cannot be local variable in java.

Beauti bharti said:   9 years ago
Hi, can anybody please tell what does mean of a static variable, which cannot be a local variable.
(1)


Post your comments here:

Your comments will be displayed after verification.