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
广告