从本地范围增加对象的作用域



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

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,因此我不能再使用它了。甚至可以以这种方式创建对象以供进一步使用吗?

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

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

return createdObject;

最新更新