They mean inner LOCAL classes, not ALL inner class types. Local classes are classes defined inside methods. For a local variable of the method to be used inside a local class defined inside that method, it has to be final:
<PRE>
public class
Test {
public void oneMethod(final int x) {
int localInt=0;
final int anotherInt=0;
class LocalClass{
// int ii = localInt;
< - CANNOT USE NON-FINAL VARIABLE int jj = anotherInt;
int kk = x;
}
}
}
</PRE>