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); } }
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); } }
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