Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何访问未存储在变量中的对象_Java - Fatal编程技术网

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

Java 如何访问未存储在变量中的对象,java,Java,我有一个方法,我将一个新创建的对象传递给它 foo(new WebObject()); 如何访问WebObject以在另一个对象中使用?换句话说,新创建的对象引用到哪里去了?将其存储在变量中 WebObject whatever = new WebObject(); foo(whatever); bar(whatever); 这取决于你的意思——如果你想说你想在函数调用之后使用它,那么你想做类似的事情 WebObject wObj = new WebObject(); foo (wObj);

我有一个方法,我将一个新创建的对象传递给它

foo(new WebObject());

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

将其存储在变量中

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

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

WebObject wObj = new WebObject();
foo (wObj);
WebObject nObj = wObj;
但是,如果您的意思是希望在foo(WebObject)方法中使用对象,那么您需要做的是,在函数中,按照

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

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

你需要一个对象的引用。如果它没有存储在变量中…你就有点运气不好了。有一个引用会让你的生活变得更加轻松。这个引用将进入
foo()
方法。你要得到它的唯一方法是,如果
foo()
将它存储在某个地方,并且你可以访问该变量。是否有一些公共对象池,我可以将其从中提取出来?@user758114-没有,至少没有你想的方式。