如何访问未存储在变量中的对象

时间:2014-05-07 18:22:15

标签: java

我有这种方法将新创建的对象传递给

foo(new WebObject());

如何访问WebObject以在另一个对象中使用?换句话说,新创建的对象引用在哪里?

3 个答案:

答案 0 :(得分:4)

这取决于你的意思 - 如果你的意思是说你想在以后使用它,在函数调用之后,那么你想要做类似的事情

WebObject wObj = new WebObject();
foo (wObj);
WebObject nObj = wObj;

但是,如果你的意思是想要在foo(WebObject)方法中使用该对象,那么你需要做的就是在函数中更多的东西

foo (WebObject obj)
{
  WebObject local = obj;
}

答案 1 :(得分:1)

将其存储在变量中!

WebObject whatever = new WebObject();
foo(whatever);
bar(whatever);

答案 2 :(得分:1)

作为user2357112张贴,您可以将新对象分配给局部变量并通过几种方法传递

WebObject instance= new WebObject();
foo(instance);
foo2(instance);
System.out.println(instance);

但如果您正在查找其他内容,则可以将其分配给支持类

public class WebObjectKeeper{
    private static WebObject instance=null;

    public static void setWebObject(WebObject obj){
        this.instance=obj;
    }
    public static WebObject getWebObject(){
        return instance;
    }
}

然后你在代码中使用它:

public void myMethod(){
    WebObjectKeeper.setWebObjcet(new WebObject());
    foo(WebObjectKeeper.getWebObject());
    foo2();
}
public void foo2(){
    WebObjectKeeper.getWebObject().executeThisMethod();
    System.out.println("Object = " + WebObjectKeeper.getWebObject());
}