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”
java
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. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.