Salida de Programas Java | Conjunto 51 (clase interna regular)

Requisito previo: clases internas en Java 

1. ¿Cuál será el nombre del archivo .class de la clase Interna? 

JAVA

class Outer {
    class Inner {
    public
        void m1()
        {
            System.out.println("Hello Geeks");
        }
    }
}

Opciones: 1.Clase.interna.externa 2.Clase.interna 3.Clase.externa 4.Clase.interna$externa Salida:

The answer is option (4)

Explicación: el compilador de Java crea dos archivos de clase en el caso de una clase interna. El nombre del archivo de clase de la clase interna es «Exterior$Interior». El símbolo $se usa para representar clases internas. 

2. ¿Cuál será el resultado del siguiente programa si usamos java Outer$Inner en el símbolo del sistema? 

JAVA

class Outer {
    class Inner {
    public
        void m1()
        {
            System.out.println("Hii");
        }
    } public static void main(String[] args)
    {
        Outer o = new Outer();
        o.m1();
    }
}

Opciones: 1.Hii 2.Error de tiempo de compilación 3.Error de tiempo de ejecución 4.Sin salida Salida:

The answer is option (3)

Explicación: como sabemos, el compilador no es responsable de verificar si la clase contiene el método main() o no. Pero durante el tiempo de ejecución, JVM verifica si la clase contiene el método main() o no. Si la clase no contiene el método main(), obtendremos un error de tiempo de ejecución que dice NoSuchMethodError:main. 

3. ¿Cuál será el resultado del siguiente programa? 

JAVA

class Outer {
    class Inner {
    public
        static void main()
        {
            System.out.println("Hii");
        }
    } Outer o = new Outer();
    o.main();
}

Opciones: 1.Hii 2.Tiempo de ejecución 3.Error de tiempo de compilación 4.Sin salida Salida:

The answer is option (3)

Explicación: en el programa anterior, obtendremos un error de tiempo de compilación que dice «Las clases internas no pueden tener una declaración estática» y aquí en el programa declaramos un método estático. 

4.¿Cuál será la opción adecuada para reemplazar con Line-1 para acceder al método m1() de la clase Interna? 

JAVA

class Outer {
    class Inner {
    public
        void m1()
        {
            System.out.println("Hii");
        }
    } public static void main(String[] args)
    {
        Line - 1
    }
}

Opciones: 1. Exterior o=nuevo Exterior(); Exterior.Interior i=o.nuevo Interior(); yo.m1(); 2.Exterior.Interior i=nuevo exterior().nuevo interior(); yo.m1(); 3.nuevo exterior().nuevo interior().m1(); 4. Ninguna Salida:

The answer is option (1), (2), (3)

Explicación: en el concepto de clases internas, primero tenemos que crear un objeto de clase externa y luego, con la ayuda de un objeto de clase externa, podemos crear un objeto de clase interna. Con la ayuda del objeto de la clase interna, podemos acceder al método de instancia de la clase interna. 

5. ¿Qué es cierto acerca de una clase interna Normal/Regular? 1. Debe marcarse como final. 2.Se puede marcar nativo. 3. Debe estar marcado como público. 4. Se puede marcar como estático. Producción:

The answer is option (4)

Explicación: los modificadores aplicables para las clases internas regulares/normales son public, final, default, strictfp, abstract, private, protected, static. Pero no es obligatorio su uso. Este artículo es una contribución de Bishal Kumar Dubey . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *