如何在if / else语句中调用另一个类?

时间:2016-03-24 03:22:13

标签: java class if-statement

我正在为我的作业创建一个银行应用程序,我想知道是否可以从if / else语句调用另一个类?如果是的话,我哪里出错?因为在编译之前我没有错误,但在尝试运行时会出现许多错误。我想在currentAccount.java类中调用" public void currentAccountCreate。我还有一个主菜单页面。 非常感谢

import java.util.Scanner;

public class Account {
    Scanner keyboard = new Scanner(System.in);

    currentAccount currentAccountCreating = new currentAccount();
    //savingsAccount savingsAccountCreating = new savingsAccount();

    public void accountCreation(){
        String createOption = "";
        boolean valid = false;
        while (!valid) {
            System.out.println("What account would you like to create?");
            System.out.println("Current or savings?");
            createOption = keyboard.nextLine();
            if (createOption.equalsIgnoreCase("current")) {
                currentAccountCreating.currentAccountCreate();
            } else {
                System.out.println("Invalid account type selected. Please enter checking or savings");
            }
        }
    }
}

这是我试图打电话

public class currentAccount extends Account {
    public void currentAccountCreate() {

错误堆栈跟踪

Exception in thread "main" java.lang.StackOverflowError
    at java.util.Currency.getInstance(Unknown Source)
    at sun.util.locale.provider.DecimalFormatSymbolsProviderImpl.getInstance(Unknown Source) at java.text.DecimalFormatSymbols.getInstance(Unknown Source)
    at assignmentmine.Account.<init>(Account.java:7)
    at assignmentmine.currentAccount.<init>(currentAccount.java:5)
    // Plus a load more related ones

1 个答案:

答案 0 :(得分:0)

您无法“调用”某个类,但您可以初始化类的对象并使用其公共函数。 此外,如果您说出要拨打的课程,将会很有帮助。

例如,如果我有两个类CheckingSavings,我会在if / else语句中初始化它们,如下所示:

//pseudocode
if (something)
   Checking obj;
else
   Savings obj;

但是,如果您的问题是关于创建当前类的另一个实例,那么您需要做的就是在类本身内初始化当前类的对象。这是一个例子:

public class Checking {
   Checking obj;
}

注意:

  • while循环无法停止,它会一直重复!