2016-05-03 92 views
-3

创建对象我想这样做与提供的名称

class DemoClass { 

    int money =1000; 

    void display() { 
     System.out.println("money=" + money); 
    } 

} 

public class createobject { 

    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException { 
     String objectname = "Harry"; 
     DemoClass objectname=new DemoClass();//creating object with a supplied name 
     System.out.println(Harry.money);//will print 1000 
     Harry.display();// will print the same 

    } 
} 

它给错误。有没有其他解决方案的方法。

+2

'这是给错误。“ - 你会得到什么错误?你究竟想实现什么?通过动态创建的变量名引用对象在Java中不起作用。改用'Map'。 –

+1

尽管这不会工作,你认为应该用动态名称创建变量的好处是什么? – SomeJavaGuy

+0

[Java变量值作为新变量名]的可能重复(http://stackoverflow.com/questions/9152439/java-variable-value-as-new-variable-name) –

回答

1

您必须具有唯一的变量名称。

您的字符串变量名和DemoClass变量名都相同 - objectname。

改变它们中的任何一个。

另外,动态变量名称在java中不起作用。

+0

你可以说在Java中没有任何“变量变量”(即带有变量名称的变量)。 – Kaushal28

0

1.Java基础知识:方法中不能有重复的变量。这里的“objectname”是重复的变量。 2.哈利不是一个对象,所以你不能访问任何方法或变量。你会得到编译错误。

+0

如果我想这样做怎么办?我也试过地图,但没有工作..String objectname =“Harry”; DemoClass名称; Map map = new HashMap <>(); map.put(objectname,new DemoClass()); Harry.display(); –

相关问题