Java中的内部类是什么?

Java中的嵌套类有两种类型,即静态嵌套类和内部类。内部类是非静态的嵌套类。内部类是Java中的一种安全机制,因为它可以是私有的,而普通类则不能。

演示内部类的程序如下:

示例

public class Class1 {
   private int a = 7;
   class Class2 {
      void func() {
         System.out.println("This is an inner class");
         System.out.println("a = " + a);
      }
   }
   public static void main(String args[]) {
      Class1 obj1 = new Class1();
      Class1.Class2 obj2 = obj1.new Class2();
      obj2.func();
   }
}

输出结果

This is an inner class
a = 7

现在让我们了解上面的程序。

类Class1是外部类,而类Class2是内部类。func()Class2中的方法打印“这是一个内部类类”,并在Class1中声明a的值。演示此代码段如下:

public class Class1 {
   private int a = 7;
   class Class2 {
      void func() {
      System.out.println("This is an inner class");
      System.out.println("a = " + a);
   }
}

main()在Class1的方法中声明外部类(Class1)的对象obj1和内部类(Class2)的obj2 。然后func()被称为。演示此代码段如下:

public static void main(String args[]) {
   Class1 obj1 = new Class1();
   Class1.Class2 obj2 = obj1.new Class2();
   obj2.func();
}