Java中的静态类

在Java中,静态类的概念是在内部类的概念下引入的,内部类是为类中某些微妙功能专门设计的。

Java中的静态类仅允许在其他类下定义的内部类使用,因为不允许使用静态外部类,这意味着我们不能在外部类中使用static关键字。

静态类的定义与Java中的其他内部类相同,只是在其名称前面带有static关键字。这些类具有一些独特的特性,使其与其他非静态内部类有所不同,这些静态类的功能如下 -

  • 静态类无需创建外部包含类的实例即可创建其自己的实例。

  • 静态类仅在本质上是静态的时才可以访问外部包含类的成员(变量/方法)。这意味着静态嵌套类无法访问外部类的实例变量和方法。

示例

现场演示

public class StaticInnerClass {
   static String str = "hi all";
   static class Inner {
      private int a = 10;
      public void demoMethod() {
         System.out.println("Hi to all guys!");
         System.out.println("Can access properties of outer class as : "+ str);
      }
   }
   public static void main(String[] args) {
      Inner inObj = new Inner();
      inObj.demoMethod();
      System.out.println(inObj.a);
   }
}

输出结果

Hi to all guys!
Can access properties of outer class as : hi all
10