We can use a method local variable in method local inner class only when the method local variable is final. Only final variables can be accessed inside method local inner classes because JVM maintains a copy of the method local variables when the inner class object is created, so the final variable restriction is in place.