访问在另一个类中创建的对象

时间:2015-04-29 18:47:12

标签: java

我不知道这是否可行,这就是我需要你帮助的原因。 我想要做的是我想要向Vector添加对象。问题是对象是在另一个类中创建的。 可能吗?

这是我的代码:

class Factory {    

    public Factory() {                       
        Action run = new RunAction();
        Action climb = new ClimbAction();
    }
}



public class Game {

    private Vector<Action> actions = new Vector<Action>();

    public  Game(Factory fact) {

        actions.add(XXXX);   ****//What to write here to add the actions created in Factory? Somehow I want to use fact for this.**

     }
 }


 class ClimbAction extends Action {

     public ClimbAction() {
         super("Try to climb\n");
     }
 }


 class RunAction extends Action {

     public RunAction() {
         super("Try to run\n");
     }
 }


 class TestClass {

      Factory f = new Factory();
      Game game = new Game(f);
 }

1 个答案:

答案 0 :(得分:3)

你的Factory类还不是很有用:它会在构造中创建两个对象......可以立即进行垃圾回收。

考虑像这样的Factory类:

final class Factory {    

    public [static] Action createRun() {                       
        return new RunAction();
    }

    public [static] Action createClimb() {
       return new ClimbAction();
    }
}

这个类看起来更像&#34;类似工厂模式&#34;,它(静态)/一个实例可以用来填充你的矢量。