请参阅使用this或super(java)调用方法的对象

时间:2017-05-21 15:52:17

标签: java methods reference this

public class Fragile_Base_Class_Main {

public static void main(String[] args) {
    RandomArrayList randomArrayList = new RandomArrayList();
    randomArrayList.add(12);
    randomArrayList.add(15);
    randomArrayList.add("gosho");
    randomArrayList.add("pesho");
    randomArrayList.add(4);
    randomArrayList.add(3);
    randomArrayList.add(7);
    randomArrayList.add("dsa");
    while (randomArrayList.size() > 0) {
        System.out.println(randomArrayList.getRandomElement());
    }
}

所以我创建了一个扩展ArrayList的类,并在其中添加了一个获取随机元素然后将其删除的方法。

public class RandomArrayList extends ArrayList {
    public Object getRandomElement() {
        int rnd = (int) Math.round(Math.random() * (super.size() - 1));
        Object temp = super.get(rnd);
        super.remove(rnd);
        return temp;
    }
}
这段代码中的

int rnd = (int) Math.round(Math.random() * (super.size() - 1))就像是super.size一样,用我称之为方法的方式引用对象的大小,超级引用超类中的字段,构造函数,方法?

0 个答案:

没有答案