静态内部类

有时候,使用内部类只是为了把一个类隐藏在另一个类的内部,并不需要内部类有外围类对象的一个引用。为此,可以将内部类声明为static,这样就不会产生那个引用。

只有内部类可以声明为static。

静态内部类类似其他内部类,只是静态内部类的对象没有生成它的外围类对象的引用。

如果内部类对象是在静态方法中构造的,那么必须使用静态内部类。

只要内部类不需要访问外围类对象,就应该使用静态内部类。

与常规内部类不同,静态内部类可以有静态字段和方法。

在接口中声明的内部类自动是static和public。

class ArrayAlg{
      public static class Pair{ // 可以通过ArrayAlg.Pair访问它:ArrayAlg.Pair p = ArrayAlg.minmax(d);
            ...
      }
      
      public static Pair minmax(double[] values){
            return new Pair(min, max);      
      }
}
posted @ 2021-01-28 19:39  张三丰学Java  阅读(96)  评论(0编辑  收藏  举报