es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué es posible crear String.java?

Solo estoy tratando de entender por qué puedo crear el archivo “String.java” y compilarlo sin errores. Hasta donde yo sé, la cadena de cargadores de clases llegará al cargador de clases Bootstrap y ya ha cargado String.class.
¿Podrías ayudarme a entenderlo, por favor?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible crear un archivo llamado String.java y compilarlo sin errores porque el classloader busca archivos .class en el classpath, no archivos .java. Cuando compilas String.java, se generará un nuevo archivo String.class, que será cargado por el classloader en lugar del archivo String.class cargado por el bootstrap classloader.

    Además, el classloader solo cargará una clase si aún no ha sido cargada por un classloader padre. Si bien es cierto que el bootstrap classloader carga clases Java esenciales como String.class, esto no impide que definas tu propia versión de String en tu aplicación y la compile en un nuevo archivo de clase.

    En resumen, puedes crear un archivo llamado String.java porque el classloader busca archivos .class, no archivos .java. Además, el classloader carga una clase solo si aún no ha sido cargada por un classloader padre, por lo que es posible definir tu propia versión de una clase y compilarla sin interferir con la versión de la clase padre.

Comments are closed.