Java When is the 0th local variable not 'this'?

In the local variables of a Java method, when will the 0th local variable not refer to 'this'?

I can think of static methods as a counterexample, are there any others?

UPDATE: I am referring to bytecode

Jon Skeet
people
quotationmark

The JVM specification section 2.6.1 seems to think that it only depends on whether it's a static (class) method or an instance method:

The Java Virtual Machine uses local variables to pass parameters on method invocation. On class method invocation, any parameters are passed in consecutive local variables starting from local variable 0. On instance method invocation, local variable 0 is always used to pass a reference to the object on which the instance method is being invoked (this in the Java programming language). Any parameters are subsequently passed in consecutive local variables starting from local variable 1.

That's in terms of the initial values of the local variables; see Mike Strobel's answer for an example where it's explicitly changed during the method.

people

See more on this question at Stackoverflow