java - Java中的类层次结构编译错误

标签 java hierarchy bluej

这是我第一次在 Stack Overflow 上发帖,但我在正在从事的项目(用 Java 编写)的早期步骤中遇到了麻烦,正在寻求指导。我搜索了论坛,但仍然很难理解我所犯的错误。

我正在创建一个类似青少年电子邮件的系统,更具体地说,正在研究类层次结构和继承。我的父类(super class)是Attachments,它的子类是ContainsDescription

编译时,错误发生在ContainsDescription子类的构造函数中。该错误显示“实际参数列表和形式参数列表的长度不同”,我不太知道如何解释。我的代码如下:

public class Attachments
{
    private String filename;
    private int size;

    public Attachments(String filename, int kilobytes)
    {
        this.filename = filename;
        size = kilobytes;
    }

    public void preview()
    {
        System.out.println("Filename: " + filename + "\n");
        System.out.println("Size: " + size + " kB" + "\n");
    }
}

public class ContainsDescription extends Attachments
{
    private String description;

    public ContainsDescription(String description)
    {
        this.description = description;
    }
}

我们将非常感谢一些指导,因为我的项目的大部分内容都包含这样的任务。

最佳答案

您必须在 ContainsDescription 中提供一个构造函数,它采用父类(super class)的参数。

你必须将它们结合起来:

public class ContainsDescription extends Attachments
{
    private String description;

    public ContainsDescription(String description, String filename, int kilobytes)
    {
        super(filename, kilobytes);
        this.description = description;          
    }
}

如果不这样做,它将无法构造父类(super class)。 如果您确实只想要一个采用 Description 作为参数的构造函数,您可以提供默认值:

public class ContainsDescription extends Attachments
{
    private String description;

    public ContainsDescription(String description)
    {
        super("", 0);
        this.description = description;          
    }
}

关于java - Java中的类层次结构编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20136442/

相关文章:

java - 直接在 Java 中获取 Finder 选择,无需任何 Applescript 的帮助

java - ORM - 是否需要 DDL 脚本?

java - 在返回与其对象相同类型的值的 final方法中使用泛型

Java Turtle 动画问题

java - BlueJ 如何从数组中获取数据以便与用户输入进行比较

java - 使用 volley 库,在 onResponse 方法内,ArrayList 有一些数据,但在 OnResponse 方法外,arraylist 是空的

java - 神秘的 NullPointerException

iphone - UIWindow 没有任何 subview

scala - 有没有办法在 Scala 中实现分层枚举?

java - 如何在Java中查找特定元素在数组列表中出现的次数