¿Cómo acceder a las clases internas en Java?

En Java, la clase interna se refiere a la clase que se declara dentro de la clase o la interfaz que se introdujeron principalmente, para resumir, las mismas clases relacionables lógicamente ya que Java está puramente orientado a objetos, por lo que lo acerca al mundo real. Se sugiere tener un conocimiento adecuado para acceder a la clase interna, primero crear un objeto de la clase externa y luego crear un objeto de la clase interna. Como la clase interna existe dentro de la clase externa, debemos instanciar la clase externa para instanciar la clase interna. Por lo tanto, para acceder a la clase interna, primero cree un objeto de la clase externa y luego cree un objeto de la clase interna.

Entonces, como sabemos, hay varios tipos de clases internas en Java.  

Ejemplo 1:

Java

// Java Program to demonstrate How to Access Inner Class
 
// Importing required classes
import java.io.*;
 
// Class 1
// Outer class
class Outer {
 
    // Class 2
    // Inner class
    class Inner {
 
        // Data member defined inside inner class
        int num = 10;
    }
}
 
// Class 2
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating an instance of outer class inside main()
        Outer obj1 = new Outer();
 
        // Creating an instance of inner class inside main()
        Outer.Inner obj2 = obj1.new Inner();
 
        // Accessing inner class's data member
        System.out.println(obj2.num);
    }
}
Producción

10

Ahora propongamos otro ejemplo que demuestre la clase interna privada. Como las clases internas se pueden hacer privadas o protegidas , a diferencia de las «clases regulares». Si una clase interna es privada, es imposible acceder a esa clase usando un objeto externo.

Ejemplo 2:

Java

// Java Program to Demonstrate Private Inner Class
 
// Importing required classes
import java.io.*;
 
// Class 1
// Outer class
class Outer {
 
    // Private inner class
    private class Inner {
 
        int num = 10;
    }
}
 
// Class 2
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Outer class object
        Outer obj1 = new Outer();
 
        // Inner class object
        Outer.Inner obj2 = obj1.new Inner();
 
        // Accessing inner class's data member
        System.out.println(obj2.num);
    }
}

Producción:

Ahora propongamos otro ejemplo que ilustra la clase interna estática. Como sabemos, la clase interna puede ser estática . Podemos acceder a la clase interna estática sin crear objetos de la clase externa. 

Ejemplo 3:

Java

// Java Program to Demonstrate Static Inner Class
 
// Importing required classes
import java.io.*;
 
// Class 1
// Outer class
class Outer {
 
    // Static inner class
    static class Inner {
 
        // Inner class member variable
        int num = 10;
    }
}
 
// Class 2
// Main class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Inner class object
        Outer.Inner obj2 = new Outer.Inner();
 
        // Accessing inner class's data member
        System.out.println(obj2.num);
    }
}
Producción

10

Publicación traducida automáticamente

Artículo escrito por prajktasalgude2002 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 *