静态内部类

2018-01-29  本文已影响0人  aliusa

定义

有时候使用内部类只是为了把一个类隐藏在另外一个类内部。并不需要引用outerClass的对象或则变量的时候,可以申明为static的InnerClass.

比如:计算一个数组中的最大值和最小值。

可以定义两个方法,一个求最大,一个求最小,

缺点:需要将数组遍历两次。

如果可以只遍历一次,并且同时返回最大,最小值怎么办。

定义一个内部类:MinMax,它包含最大最小值两个变量,让outer calss 的compute函数返回这个内部类,因为这个函数不需要访问outerClass的变量,所以定义成static的,这样就减少了对outerClass对象的引用.

public OuterClass{

public InnerClass computeMinMax(ArrayList data){

int min=...

int max=....

return new InnerClass(min,max);

}

public static InnerClass(int min,int max){

int min;

int max;

getMin();

getMax();

}

}

上一篇 下一篇

猜你喜欢

热点阅读