Are static local variables allowed in Java?

Unlike C/C++, static local variables are not allowed in Java. For example, following Java program fails in compilation with error “Static local variables are not allowed”

filter_none

edit
close

play_arrow

link
brightness_4
code

class Test {
   public static void main(String args[]) { 
     System.out.println(fun());
   }
  
   static int fun()
   {
     static int x= 10//Error: Static local variables are not allowed
     return x--;
   }

chevron_right


In Java, a static variable is a class variable (for whole class). So if we have static local variable (a variable with scope limited to function), it violates the purpose of static. Hence compiler does not allow static local variable.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



java-img

My Personal Notes arrow_drop_up

Improved By : KarthickManickam

Article Tags :
Practice Tags :


14


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.