Java 中定义了哪些不同类型的嵌套类?
javaobject oriented programmingprogramming更新于 2025/7/1 12:28:17
在 Java 中,可以在一个类中定义另一个类,这样的类称为嵌套类。我们可以将访问修饰符如private、public、protected 或 default用于内部类,将default 或 public访问修饰符用于外部类。
Java 中定义了两种类型的嵌套类。
- 静态嵌套类
- 非静态嵌套类
静态嵌套类
- 我们可以将内部类定义为静态的,因此这种类型的类称为静态嵌套类。
- 嵌套类使用static 关键字定义,因此这种类型的嵌套类与外部类的实例没有任何关系类。
- 静态嵌套类可以访问我们类的静态成员。
示例
class Car {
static class Wheel {
public void rotate() {
System.out.println("The wheel is rotating");
}
}
}
public class Test {
public static void main(String args[]) {
Car.Wheel wheel = new Car.Wheel();
wheel.rotate();
}
}
输出
The wheel is rotating
非静态嵌套类
- 在 Java 中,非静态嵌套类被间接称为内部类。
- 内部类与外部类的对象相关联。因此,内部类被视为与外部类的其他变量和方法一样。
- 内部类与外部类对象或实例相关联,因此我们不能在内部类中声明静态变量。
示例
public class OuterClassTest {
private int a = 10;
public void innerClassInstance() {
InnerClassTest inner = new InnerClassTest();
inner.outerObject();
}
public static void main(String args[]) {
OuterClassTest outer = new OuterClassTest();
outer.innerClassInstance();
}
class InnerClassTest {
public void outerObject() {
System.out.println("Outer Value of a is: " + a);
}
}
}
输出
Outer Value of a is: 10
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

