Label

Thứ Hai, 1 tháng 11, 2010

Inner Class Example

public class DataStructure {
private static final int SIZE = 15;
private static int[] arrayOfInts = new int[SIZE];

public DataStructure() {
for (int i = 0; i < SIZE; i++) {
arrayOfInts[i] = i;
}
}

public int getSIZE() {
return SIZE;
}

public static int getValueOfArray(int index) {
return arrayOfInts[index];
}

public void printEven() {
InnerEvenIterator iterator = new InnerEvenIterator();
while (iterator.hasNext(getSIZE())) {
System.out.print(iterator.getNext() + " ");
}
}

//Inner Class
/* private class InnerEvenIterator {
private int next = 0;

public boolean hasNext() {
return (next <= SIZE - 1);
}

public int getNext() {
int valueNext = arrayOfInts[next];
next += 2;
return valueNext;
}
} */

public static void main(String[] args) {
DataStructure ds = new DataStructure();
ds.printEven();
}
}

public class InnerEvenIterator {
private int next = 0;

public boolean hasNext(int S) {
return (next <= S - 1);
}

public int getNext() {
int valueNext = DataStructure.getValueOfArray(next);
next += 2;
return valueNext;
}
}

Các điểm giống và khác nhau khi dùng cách 1 và 2.

Không có nhận xét nào:

Đăng nhận xét