Java程序:静态内部类的使用示例


在这里,我们将使用Java程序演示静态内部类的用法。

在深入探讨主题之前,让我们先了解一下静态内部类这个术语。

静态内部类

内部类是在另一个类中定义的类。

静态内部类是作为外部类静态成员的嵌套类。

无需先实例化外部类即可使用其他静态成员访问它。

静态嵌套类无法访问外部类的实例变量和方法,这与Java中的静态成员类似。

示例1

在下面的程序中,演示了静态内部类访问外部类静态成员的能力,而无需创建外部类的实例。

// Java Program to demonstrate the Usage of Static Inner Class
// Beginning of Outer class
public class Tutorials_point1 {  
    // Display message of inner class
    static String s = "Have a great year ";
    // Beginning of Static Inner Class
    static class InnerClass {
        // Static Inner Class Method
        public void show(){
            // Show the message of inner class
            System.out.println("Happy New Year " + s);
        }
    }
    // Beginning of the Main method
    public static void main(String[] args){
        // Creation of an instance of the static inner class
        InnerClass instance = new InnerClass();
        // invoking the show() method
        // by the instance variable of inner class
        instance.show();
    }
}

输出

Happy New Year Have a great year 

在上面的程序中,定义了一个名为"Tutorials_point1"的外部类,其中包含一个静态字符串变量"s"。它还包含一个名为"InnerClass"的静态内部类,该类具有一个名为"show()"的方法,该方法使用外部类的静态字符串变量显示消息。

在主方法中,创建静态内部类的实例,并在该实例上调用"show()"方法,该方法显示消息“新年快乐”以及静态字符串变量“s”的值。

示例2

在下面的程序中,演示了无需先创建外部类的实例即可创建静态内部类实例的能力。创建静态内部类实例的语法与创建非静态内部类实例的语法不同。

// Java Program to demonstrate the Usage of Static Inner Class
// Beginning of Outer class
public class Tutorials_point2 {  
    // Static string message
    static String s = "Have a great year ";  
    // Beginning of Static Inner Class
    static class InnerClass {  
        // Static Inner Class Method
        public void show() {
            // Display message in inner class
            System.out.println("Happy New Year " + s);
        }
    }  
    //beginning of Main method
    public static void main(String[] args) {
        // Creation of an instance of the outer class
        Tutorials_point2.InnerClass instance = new Tutorials_point2.InnerClass();  
        // invoking method of static inner class via
        // the instance variable of outer class
        instance.show();
    }
} 

输出

Happy New Year Have a great year 

在程序中,创建了一个名为"Tutorials_point2"的外部类,其中包含一个静态字符串变量"s"。它还包含一个名为"InnerClass"的静态内部类,该类具有一个名为"show()"的方法,该方法使用外部类的静态字符串变量显示消息。

在主方法中,创建静态内部类的实例。然后在该实例上调用"show()"方法,该方法显示消息“新年快乐”以及静态字符串变量“s”的值。

本文阐述了如何在Java中使用静态内部类。文章首先讨论了静态内部类的概念。此外,还展示了两个实现,以便更清晰地了解该主题。

更新于:2023年8月11日

浏览量:130

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.