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 1 of 2.

Anurag Tiwari(DjAnurag) said:   10 years 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)

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)

Dinu said:   1 decade ago
This not the correct explanation yaar

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

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

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

Is it not an error?

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

Manish said:   1 decade ago
We can not create object of static method.

Sonam said:   1 decade ago
Local variables can be final only.
No other modifier is allowed.Also it is not necessary that if a method is returning something we have to hold it.It is fine without that also.

Bhargavi said:   1 decade ago
Static variables cannot be instantiated and it could be accessed only by class-name.


Post your comments here:

Your comments will be displayed after verification.