Se trata del compilador real y su capacidad para distinguir lo que significa un token dentro de su contexto. Sin embargo, en este caso particular, es la incapacidad del compilador para distinguir lo que class
significa el token en un contexto diferente. Es una regla dura y rápida que class
, independientemente de su contexto, se utiliza para denotar la declaración de una clase y, como tal, es una palabra reservada . Eso es tan simple y de bajo nivel como se pone.
Si se siente obligado, podría escribir su propio compilador de Java para incluir una regla contextual que le permita usar class
como nombre de variable. Aunque creo que sería mucho mejor usar su tiempo para usarlo clazz
o klass
, probablemente, también sería bueno para su salud.