11
He oído que el bytecode de Java en realidad no es compatible con ningún tipo de clases sin nombre. ¿Cómo traduce javac las clases no modificadas a las nombradas?¿Cómo se compilan las clases anónimas en Java?
He oído que el bytecode de Java en realidad no es compatible con ningún tipo de clases sin nombre. ¿Cómo traduce javac las clases no modificadas a las nombradas?¿Cómo se compilan las clases anónimas en Java?
Sintetiza un nombre del formulario EnclosingClass$n
, donde "n" es un contador para las clases anónimas en EnclosingClass
. Debido a que se desaconseja usar $
en los identificadores, estos nombres no deben colisionar con ningún nombre especificado por el usuario.
'$' es un carácter válido, pero no se recomienda su uso en nombres definidos por el usuario. – axtavt
Oops, eso es correcto. Gracias. – erickson
Puede ver esto fácilmente cuando compila una clase con clases internas anónimas, porque obtiene múltiples archivos '* .class', con nombres como' EnclosingClass $ n.class'. – Jesper