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()”方法,显示了消息“Happy New Year”,然后是静态字符串变量“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()”的方法,使用外部类的静态字符串变量来显示一条消息。 在main方法中,创建了静态内部类的一个实例。然后,在该实例上调用”show()”方法,该方法显示消息”Happy New Year”,然后显示静态字符串变量”s”的值。 这篇文章介绍了如何在Java中使用静态内部类。文章从讨论”Static inner class”的术语开始。进一步展示了两个实现,以更清晰地了解这个主题。