注册 登录
编程论坛 JAVA论坛

add的用法,为何要循环加进同样的对象呢?》

小白编程 发布于 2015-06-23 16:23, 715 次点击
import java.util.*;
class V2Radiator
{
    V2Radiator(ArrayList<SimUnit> list)
    {

        for(int x = 0; x < 5; x++)
        {
            list.add(new SimUnit("V2Radiator"));
  这个add是把括号内的对象加进数组里,为什么要循环5次加入同样的对象呢?
        }
    }
}
class V3Radiator extends V2Radiator
{
    V3Radiator(ArrayList lglist)
    {
        super(lglist);
        for(int g = 0; g < 10; g++)
        {
            lglist.add(new SimUnit("V3Radiator"));
        }
    }
}
class RetentionBot
{
    RetentionBot(ArrayList rlist)
    {
        rlist.add(new SimUnit("RetentionBot"));
    }
}
public class TestLifeSupportSim
{
    public static void main(String[] args)
    {
        ArrayList aList = new ArrayList();
        V2Radiator v2 = new V2Radiator(aList);
        V3Radiator v3 = new V3Radiator(aList);
        for(int z = 0; z < 20; z++)
        {
            RetentionBot ret = new RetentionBot(aList);
        }
    }
}
class SimUnit
{
    String botType;
    SimUnit(String type)
    {
        botType = type;
    }
    int powerUse()
    {
        if("Retention".equals(botType))
        {
            return 2;
        }
        else
        {
            return 4;
        }
    }
}
3 回复
#2
calix2015-06-23 17:17
整个代码没有一句打印
这段代码涉及了一点子类调用父类构造方法的东西
如果你能推测出程序执行完,aList中的内容就行了,没必要纠结add几个对象
(应该是40个SimUnit对象,10个V2Radiator,10个V3Radiator,20个RetentionBot)

#3
小白编程2015-06-23 20:08
回复 2楼 calix
菜鸟自学阶段, 等懂点点再去培训学校 这样效果好些
#4
凌风zx2015-06-24 08:58
额 这个不是必须加5个相同的对象

一切依据需求而来  

从这个程序上看只是为了验证构造方法的执行(add随便加就行)
1