Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回超类的字符串';显示的抽象方法_Java_Abstraction_Return Type - Fatal编程技术网

Java 返回超类的字符串';显示的抽象方法

Java 返回超类的字符串';显示的抽象方法,java,abstraction,return-type,Java,Abstraction,Return Type,必须实现抽象方法语句(在超类中)以返回语句的字符串表示形式 因此,我做了以下工作: public abstract String statement(); //The abstract method in my super class …以及我的子类中的方法: //@Override public String statement() { return String.format("Account no %d has balance R%d and minimum balance

必须实现抽象方法语句(在超类中)以返回语句的字符串表示形式

因此,我做了以下工作:

 public abstract String statement(); //The abstract method in my super class
…以及我的子类中的方法:

//@Override
public String statement() 
{
    return String.format("Account no %d has balance R%d and minimum balance R%d", accountNumber,balance,getMinBalance());
}
我的主类只调用Account类(有问题的超级类),如下所示:

new SavingsAccount(Integer.toString(ao[i]),ao[i+1],ao[a]); //ao being the array which contains the values.
然而,控制台只是终止而不显示任何内容(我也不熟悉实现)

以下是完整的代码:

主要内容:

其中一个子类:

public class SavingsAccount extends Account
{
    int minBalance;

    public SavingsAccount()
    {
        super();
        minBalance = 0;
    }
    public SavingsAccount(String accountNum,int minBalance,int balance)
    {
        super(accountNum,balance);
        setMinBalance(minBalance);
    }
    public void setMinBalance(int minBalance)
    {
        this.minBalance = minBalance;
    }
    public int getMinBalance()
    {
        return minBalance;
    }
    @Override
    public int calculateInterest(int value) {

        if(minBalance>balance)
        {
            return 0;           
        }
        else
        {
            return (minBalance*balance)/100;
        }
    }
    //@Override
    public String statement() 
    {
        return String.format("Account no %d has balance R%d and minimum balance R%d", accountNumber,balance,getMinBalance());
    }

}

了解更多的代码可能会有所帮助,但据我所见,可能存在以下情况:

  • 代码运行和终止时不会出错。您看不到任何内容的原因是,标准输出流中没有写入任何内容(例如,通过System.out.println())
  • 您的代码存在一些内部问题,这些问题会导致异常,由于日志记录机制已损坏,因此不会再次显示异常

在任何情况下,使用调试器逐步检查代码并确定哪些部分运行良好,以及是否有任何部分失败。它可能有助于提取一些局部变量,为它们指定适当的有意义的名称,并在执行过程中监视它们的内容。

您从不调用方法语句

1) 创建新的SavingsAccount对象

new SavingsAccount(Integer.toString(ao[i]),ao[i+1],ao[a]);
2) 构造函数类被上述语句调用

public SavingsAccount(String accountNum,int minBalance,int balance)
{
    super(accountNum,balance);
    setMinBalance(minBalance);
}
3) 子类然后调用超类方法 公共帐户(字符串帐号,整数余额) { setAccountNum(accountNumber); 立根平衡(平衡); }

4) 这就是所谓的平衡

public void setBalance(int balance)
{
    this.balance = balance;
}
5) setMinBalance呼叫

public void setMinBalance(int minBalance)
{
    this.minBalance = minBalance;
}
6) 创建对象SavingsAccount结束


没有一条调用方法语句的语句

对返回值执行某些操作,或者强制控制台保持打开状态。那么,我是否会在较低的类中写入输出流(设置了返回值)?显示更多代码上下文。
public SavingsAccount(String accountNum,int minBalance,int balance)
{
    super(accountNum,balance);
    setMinBalance(minBalance);
}
public void setMinBalance(int minBalance)
{
    this.minBalance = minBalance;
}