Java 中的嵌套类


Java 中允许在一个类内编写另一个类。内嵌的那个类被称为嵌套类,而包含内嵌类的类被称为外部类。嵌套类分为两类:-

  • 非静态嵌套类(内部类) - 这些是非静态成员。

  • 静态嵌套类 - 这些是类的静态成员。

以下列出 Java 中的嵌套类类型:-

非静态嵌套类(内部类)

内部类是 Java 中的安全机制。我们知道类不能与访问修饰符“private”相关联,但如果我们将类作为其他类的成员,那么该内部类就可以被设为“private”。这也是用于访问类的私有成员。

我们来看一个示例:-

示例

class Outer_Demo {
   int num;
   // inner class
   private class Inner_Demo {
      public void print() {
         System.out.println("This is an inner class");
      }
   }
   // Accessing he inner class from the method within
   void display_Inner() {
      Inner_Demo inner = new Inner_Demo();
      inner.print();
   }
}
public class My_class {
   public static void main(String args[]) {
      // Instantiating the outer class
      Outer_Demo outer = new Outer_Demo();
      // Accessing the display_Inner() method.
      outer.display_Inner();
   }
}

输出

This is an inner class.

静态嵌套类

静态内部类是一个嵌套类,它是外部类的静态成员。它可以在不实例化外部类的情况下使用其他静态成员来访问。就像静态成员一样,静态嵌套类不能访问外部类的实例变量和方法。

我们来看一个示例:-

示例

public class Outer {
   static class Nested_Demo {
      public void my_method() {
         System.out.println("This is my nested class");
      }
   }
   public static void main(String args[]) {
      Outer.Nested_Demo nested = new Outer.Nested_Demo();
      nested.my_method();
   }
}

输出

This is my nested class

更新于:2019-09-20

1 千 + 次浏览

开启你的 职业

完成课程,获得认证

开始
广告