的java延伸的数组列表我想知道哪些代码这个特殊的一块确实
问题描述:
我想知道哪些代码这个特殊的一块确实的java延伸的数组列表我想知道哪些代码这个特殊的一块确实
public class Sum extends ArrayList<Integer> {
int sum;
public int sum() { return sum;}
public boolean add(Integer i) {
if (super.add(i)) {
sum += i;
return true;
}
return false;
}
答
是制作,保持的和一个子类,或者ArrayList的所有的成员,必须是整数。
因此,如果使用的话:
Sum s = new Sum(); s.add(55); s.add(11); System.out.println(s.sum()); // Will output 66, that is 55 + 11 System.out.println(s.get(0)); // Will output 55, the first element, ad every list
此外,倒不如将其定义为
public class Sum extends ArrayList<Integer>
否则add方法不会覆盖附加(对象)从ArrayList中继承。
这是正确的。我还会补充一点,在这里不需要if子句,因为super.add()将始终返回ArrayLists的真。 – Kon 2014-09-03 00:57:26
此外,更好的实现还会覆盖其他方法,如'addAll()',否则如果最终用户决定使用此方法添加更多整数,则sum的值将不准确 – morgano 2014-09-03 01:04:52
@morgano right! – 2014-09-03 01:05:26