当前位置:  开发笔记 > 编程语言 > 正文

Java中的继承 - "找不到符号构造函数"

如何解决《Java中的继承-"找不到符号构造函数"》经验,为你挑选了1个好方法。

我正在从一个继承自另一个类的类,但我收到一个编译错误,说"找不到符号构造函数Account()".基本上我要做的是创建一个类别的InvestmentAccount,它来自账户 - 账户是为了与取款/存款方法保持平衡,而InvestmentAccount类似,但余额存储在股票中,股票价格决定如何在给定特定金额的情况下,许多股票被存入或取出.这是子类InvestmentAccount的前几行(编译器指出问题的位置):

public class InvestmentAccount extends Account
{
    protected int sharePrice;
    protected int numShares;
    private Person customer;

    public InvestmentAccount(Person customer, int sharePrice)
    {
        this.customer = customer;
        sharePrice = sharePrice;
    }
    // etc...

Person类保存在另一个文件(Person.java)中.现在这里是超类帐户的前几行:

public class Account 
{
    private Person customer;
    protected int balanceInPence;

    public Account(Person customer)
    {
        this.customer = customer;
        balanceInPence = 0;
    }
    // etc...

有没有理由为什么编译器不只是从Account类中读取Account的符号构造函数?或者我是否需要在InvestmentAccount中为Account定义一个新的构造函数,它告诉它继承所有内容?

谢谢



1> Johannes Wei..:

super(customer)InvestmentAccounts构造函数中使用.

Java无法知道如何调用唯一的构造函数Account,因为它不是一个空的构造函数.super()仅当基类具有空构造时,才可以省略.

更改

public InvestmentAccount(Person customer, int sharePrice)
{
        this.customer = customer;
        sharePrice = sharePrice;
}

public InvestmentAccount(Person customer, int sharePrice)
{
        super(customer);
        sharePrice = sharePrice;
}

那可行.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有