在Java中,可以在另一个类中定义一个类,此类称为嵌套类。对于内部类,我们可以使用访问修饰符,例如private,public,protected或default;对于外部类, 可以使用default或public访问修饰符。
Java中定义了两种类型的嵌套类。
静态嵌套类
非静态嵌套类
我们可以将内部类定义为静态类,因此这种类型的类称为静态嵌套类。
的嵌套类与定义的静态关键字,所以这种类型的嵌套类的不共享与实例任何关系 外类。
一个静态嵌套CLAS小号可以能够访问静态成员我们班的。
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