-2

我想使用方法创建一个对象,但我希望它(对象+引用)即使在方法结束后仍然存在。代码示例:

public class start{
public static void main (String [] Args){
  public void createObject(){
    object1 createdObject = new object1();
  }
  createObject();
  createdObject.doSomething();
 }
}

public class object1{
   //code for object 1
}

所以我的主要问题是:如何使用方法创建对象并让它在方法结束后仍然存在。createdObject问题是在方法结束后会弹出引用stack,因此我不能再使用它了。甚至可以以这种方式创建对象以供进一步使用吗?

4

2 回答 2

2
public class start{
public static void main (String [] Args){

//class level scope
object1 createdObject = null;

 private void createObject(){
    createdObject = new object1();
  }
}

public class object1{
   //code for object 1
}

注意:我没有遵循命名约定。但请在实际代码中遵循它们

更新:正确的代码检查一下

public class Main {

    public static void main(String[] args) {
         new MyClass().doSomething();
    }

}


class MyClass{
    Object obj ;

    public void doSomething(){
        createObject();
    }


    private void createObject(){
        obj = new Object();
        System.out.println("Created MyClass instance");
    }
}
于 2012-12-09T17:19:08.600 回答
0

您的方法应该返回 object1 而不是 void 并且您必须在方法末尾添加以下行:

return createdObject;
于 2012-12-09T17:18:38.570 回答