Acertijo Java (Solución)
A principios de mes proponía un Acertijo Java. ¿Qué sale por pantalla al ejecutar la clase FooBar? import static java.lang.System.*; public class FooBar { public FooBar() { out.print(" Instance "); } static { out.print(" Static "); } public static void main (String args) { out.print(" Main "); new FooBar(); } } Simplificando, lo que ocurre es lo siguiente: Se carga la clase FooBar en memoria Se ejecutan los bloques estáticos: static{} out.print(" Static “); está en un bloque estático Una vez cargada la clase, ya se pueden ejecutar métodos estáticos como main out.print(” Main “); está dentro del método main Se crea una instancia de la clase FooBar en el método main Para ello se ejecuta el constructor out.print(” Instance “); está en el constructor Siguiendo este razonamiento, la opción correcta sería la c: “Static Main Instance”. ...