我想知道这段特殊代码的作用
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;
}
答案 0 :(得分:3)
它正在创建一个子类或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继承的add(Object)。