Open In App

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”  




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--;
   }
}

Time Complexity: O(1)



Auxiliary Space: O(1)

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.



Article Tags :