2012-12-09 50 views
-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,因此我不能再使用它了。是否有可能通过这种方式创建对象以供进一步使用?

+0

没有意义?究竟是什么问题?你试图在这里做什么'ui createdObject = new ui();' –

+0

这段代码是否实际编译? – Jivings

+0

'公共类开始'它编译? –

回答

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 
} 

注:我没有以下命名约定。但请跟随他们在实际的代码

UPDATE:正确的代码检查出来

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

我收到错误行private void createObject(){。以下是编译器所说的:令牌上的语法错误,错位的构造, 令牌“void”,@ expected上的语法错误。无论如何,好的解决方案,从来没有想过这样。但我认为它应该起作用。 – horin

+0

@horin使用更新的代码并替换你的类 –

+0

谢谢,它正在工作 – horin

0

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

return createdObject;