繁体   English   中英

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

[英]How to access object not stored in variable

我有将新创建的对象传递到的方法

foo(new WebObject());

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

这取决于您的意思-如果要说要稍后在函数调用之后使用它,那么您想要执行类似

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

但是,如果您要使用foo(WebObject)方法中的对象,那么您需要做的就是在函数中执行更多操作,

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

将其存储在变量中!

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

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());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM