在 Java 中,静态类的概念是在内部类的上下文中引入的,这些内部类特别设计用于类中的某些精细功能。
Java 静态类
Java 中的静态类只允许用于定义在其他类之下的内部类,因为不允许使用静态关键字定义外部类,这意味着我们不能在外层类上使用静态关键字。
静态类与其他内部类相似定义,只是在其名称前加上了静态关键字。这些类具有一些独特的特性,使它们区别于其他非静态内部类。
Java 静态类的特点
以下是 Java 静态类的特点:
-
静态类不需要创建外部包含类的实例即可创建自己的实例。
-
静态类只能访问外部包含类中的静态成员(变量/方法)。这意味着静态嵌套类无法访问外部类的实例变量和方法。
Java 静态类的语法
静态嵌套类的语法如下:
class MyOuter {
static class Nested_Demo {
}
}
实例化静态嵌套类与实例化普通内部类有所不同。以下程序展示了如何在多种情况下使用静态嵌套类。
Java 静态类示例
在这个例子中,我们创建了一个名为 Outer
的类,并在其内部定义了一个静态内部类 NestedDemo
。在 main()
方法中,我们直接使用了静态类的静态方法,因为 main
是 Outer
类的一部分。
package com.tutorialspoint;
public class Outer {
static class NestedDemo {
public static void print() {
System.out.println("这是我的嵌套类");
}
}
public static void main(String args[]) {
NestedDemo.print();
}
}
如果你编译并执行上述程序,你将得到以下结果:
这是我的嵌套类
更多 Java 静态类示例
示例 1
在这个例子中,我们在 Outer
类内创建了一个名为 NestedDemo
的静态内部类。由于 main
方法位于不同的类中,我们需要通过 Outer
类来访问静态内部类。
package com.tutorialspoint;
public class Tester {
public static void main(String[] arguments) {
Outer.NestedDemo.print();
}
}
class Outer {
static class NestedDemo {
public static void print() {
System.out.println("这是我的嵌套类");
}
}
}
如果你编译并执行上述程序,你将得到以下结果:
这是我的嵌套类
示例 2
在这个例子中,我们在 Outer
类内创建了一个名为 NestedDemo
的静态内部类。现在静态类有一个实例方法,并且 main
方法位于不同的类中,我们需要通过 Outer
类的对象来访问静态内部类。
package com.tutorialspoint;
public class Tester {
public static void main(String[] arguments) {
new Outer.NestedDemo().print();
}
}
class Outer {
static class NestedDemo {
public void print() {
System.out.println("这是我的嵌套类");
}
}
}
如果你编译并执行上述程序,你将得到以下结果:
这是我的嵌套类