-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

メソッドは void ではなく object1 を返す必要があり、メソッドの最後に次の行を追加する必要があります。

return createdObject;
于 2012-12-09T17:18:38.570 に答える