找不到符号错误

时间:2011-04-29 03:53:17

标签: java

我正在编写一些代码,扩展了我为编程任务开发的另一个类。但是当我尝试编译程序时,我一直遇到一个错误:

CDAccount.java:11: cannot find symbol
symbol  : constructor BankAccount()
location: class BankAccount
        {
        ^

该计划如下:

import java.lang.IllegalArgumentException;

    public class CDAccount extends BankAccount
    {
            Person owner_;
            double balance_;
            double rate_;
            double penalty_;

            public CDAccount(Person Owner, double Balance, double Rate, double Penalty)
            {
                    if(Balance < 0)
                    {
                            throw new IllegalArgumentException("Please enter a positive Balance amount");
                    }
                    else
                    {
                            if(Rate < 0)
                            {
                                    throw new IllegalArgumentException("Please enter a positive Interest Rate");
                            }
                            else
                            {
                                    if(Penalty < 0)
                                    {
                                            throw new IllegalArgumentException("Please enter a positive Penalty amount");
                                    }
                                    else
                                    {
                                            if(Owner.equals(null))
                                            {
                                                    throw new IllegalArgumentException("Please define the Person");
                                            }
                                            else
                                            {
                                                    owner_ = Owner;
                                                    balance_ = Balance;
                                                    rate_ = Rate;
                                                    penalty_ = Penalty;
                                            }
                                    }
                            }
                    }
            }
    }

1 个答案:

答案 0 :(得分:2)

您的CDAccount构造函数需要调用超类构造函数作为它的第一个语句。如果你没有明确地提出

super();

作为第一行,然后编译器将插入

super();

为你(无形)。

但是你的BackAccount类显然没有不带参数的构造函数,所以要么添加一个构造函数,要么显式添加对超类的调用,其参数为你有类似

的构造函数
super(owner);

或者你想要传递给超类的任何东西。