静态内部类
有时候,使用内部类只是为了把一个类隐藏在另一个类的内部,并不需要内部类有外围类对象的一个引用。为此,可以将内部类声明为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);
}
}