Java 基于变量创建一个类

Java 基于变量创建一个类,java,class,design-patterns,Java,Class,Design Patterns,我有一个基类Accounts,它处理基本account函数的所有信息和方法。然后我有Checkings和Savings的子类来处理不同类的特定函数。我有一个动作监听器,可以添加帐户 addBtn.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { // add the account

我有一个基类Accounts,它处理基本account函数的所有信息和方法。然后我有Checkings和Savings的子类来处理不同类的特定函数。我有一个动作监听器,可以添加帐户

    addBtn.addActionListener(new ActionListener(){

        @Override
        public void actionPerformed(ActionEvent e) {
            // add the account
            //this is where I am stuck!
            Account account = new Savings(amount);

        }

    });
基于JComboBox中的一个变量,我希望能够区分创建了什么样的类

    //get the types of accounts
    ArrayList<String> accountTypes = Account.getAccountTypes();
    JComboBox box = new JComboBox(accountTypes.toArray());
    contentPanel.add(box);

我能做些什么来更好地处理这个问题呢?

如果您只需要在实际操作中使用这个监听器,只需在那里输入简单的If/else或switch/case即可。如果您可能需要在其他地方以类似的方式创建对象,请阅读Factory Method等设计模式。

使用简单的If语句?如果combobox值为这,则创建一个新的储蓄对象,否则如果combobox值为这,则创建一个新的检查对象。Jesper,我正在更好地设计我的软件,我知道一个简单的开关或If语句在这里可以工作,但是我想养成让它更易于维护的习惯。getAccountTypes实际上访问枚举。还有一个现金帐户,我希望在构建应用程序时最终进一步添加帐户,因此我希望进一步避免if/else结构。此外,我不知道如何在不必执行if/else结构的情况下实例化一个新类。不过,我要看看我能用工厂模式做些什么。谢谢你,路易吉。