Java 动态命名类的实例?

Java 动态命名类的实例?,java,class,constructor,joptionpane,Java,Class,Constructor,Joptionpane,只是一个关于小事情的快速问题。以下是我的编程2课程的编程作业的一部分。它关注继承和多个类。我已经回答了这个问题,但我想将这些类合并到一个主函数中,并实际构建一些东西,而不仅仅是提交最基本的内容 我的问题是下面的代码部分。用户运行程序时,会看到一个对话框,询问他想添加什么(CD或电影,它们都是单独的类) 不过,我想让用户在程序运行时实际命名类的特定实例。因此,用户将单击Movie,例如,提示用户输入名称,然后在下一行中使用Movie类中的构造函数以用户输入的名称创建一个新实例类?这可能吗?我尝试使

只是一个关于小事情的快速问题。以下是我的编程2课程的编程作业的一部分。它关注继承和多个类。我已经回答了这个问题,但我想将这些类合并到一个主函数中,并实际构建一些东西,而不仅仅是提交最基本的内容

我的问题是下面的代码部分。用户运行程序时,会看到一个对话框,询问他想添加什么(CD或电影,它们都是单独的类)

不过,我想让用户在程序运行时实际命名类的特定实例。因此,用户将单击Movie,例如,提示用户输入名称,然后在下一行中使用Movie类中的构造函数以用户输入的名称创建一个新实例类?这可能吗?我尝试使用一个简单的字符串x=JOptionpane,然后也命名类x,但没有成功。我在想可能有某种方法会引用字符串?比如目录,也许是x

提前谢谢

import javax.swing.JOptionPane;
public class Main 
{

    public static void main (String args [])
    {
    Object[] options = {"Movie",
                "CD",
                "Cancel"};
            int n = JOptionPane.showOptionDialog(null, "Would you like to add an item?","Product",
                        JOptionPane.YES_NO_CANCEL_OPTION,
                            JOptionPane.QUESTION_MESSAGE,
                                null,
                                    options,
                                        options[2]);

    switch(n)
    {
    case 0: 
    String moviet = JOptionPane.showInputDialog("Title:");
    int movieID = Integer.parseInt(JOptionPane.showInputDialog("ID:"));
    Movie moviett = new Movie(moviet, movieID);


    }


    }

}

如果它不超过类的内容,那么可以使用1来存储由运行时指定的字符串标识的实例

Map<String, Media> instances = new HashMap<>();
// snip...
String moviet = JOptionPane.showInputDialog("Title:");
int movieID = Integer.parseInt(JOptionPane.showInputDialog("ID:"));
Movie moviett = new Movie(moviet, movieID);
instances.put("some user-provided string", moviett);
Map instances=newhashmap();
//剪断。。。
String moviet=JOptionPane.showInputDialog(“标题:”);
int movieID=Integer.parseInt(JOptionPane.showInputDialog(“ID:”);
Movie moviett=新电影(moviet,movieID);
put(“一些用户提供的字符串”,moviett);


1假设
Movie
CD
都扩展/实现
Media

如果它不超出类的内容,则可以使用1来存储由运行时指定的字符串标识的实例

Map<String, Media> instances = new HashMap<>();
// snip...
String moviet = JOptionPane.showInputDialog("Title:");
int movieID = Integer.parseInt(JOptionPane.showInputDialog("ID:"));
Movie moviett = new Movie(moviet, movieID);
instances.put("some user-provided string", moviett);
Map instances=newhashmap();
//剪断。。。
String moviet=JOptionPane.showInputDialog(“标题:”);
int movieID=Integer.parseInt(JOptionPane.showInputDialog(“ID:”);
Movie moviett=新电影(moviet,movieID);
put(“一些用户提供的字符串”,moviett);


1假设
Movie
CD
都扩展/实现
Media

Java不是这样工作的,事实上变量名远没有您想象的那么重要,几乎不存在于编译代码中。相反,如何使用字符串来设置电影类的字段,也许是一个名为“name”的字符串字段。如果想基于字符串检索类实例,请考虑使用一个映射(如Hasmap)。

< P> java不这样工作,事实上变量名远比您想象的重要,而且几乎不存在于编译代码中。相反,如何使用字符串来设置电影类的字段,也许是一个名为“name”的字符串字段。如果要基于字符串检索类实例,请考虑使用一个映射,例如Hasmap。< /P> GMTA,然后你就揍我了!1+我的乳头因高兴而爆炸这有点让我头疼,但我会调查一下。谢谢你的迅速回复。该开始谷歌搜索了!GMTA,你赢了我一拳!1+我的乳头因高兴而爆炸这有点让我头疼,但我会调查一下。谢谢你的迅速回复。该开始谷歌搜索了!