gpt4 book ai didi

java - 即使没有参数构造函数,隐式 super 构造函数也是未定义的?

转载 作者:行者123 更新时间:2023-11-30 03:53:52 25 4
gpt4 key购买 nike

所以我是 Java 新手,我收到此错误,指出构造函数未定义。我做了一些研究,发现我需要添加一个无参数构造函数,但是即使在我这样做之后,我仍然遇到错误。

import javax.swing.JComponent;


public abstract class Block extends JComponent{
Block(){}
}

这是 super 类,我还没有任何东西

import java.awt.*;
import java.util.Arrays;
import javax.swing.*;

public class Head extends Block{
private int xpos;
private int ypos;
private boolean[] m;

public Head(){
xpos = getWidth()/2;
ypos = getHeight()/2;
}
}

这是给出错误的子类:/

最佳答案

您的无参数构造函数具有默认修饰符 - 除非 HeadBlock 位于同一个包中,Head 将无法来访问它。您应该将其定义为 public:

public abstract class Block extends JComponent{
public Block(){}
}

...或者至少受到保护:

public abstract class Block extends JComponent{
protected Block(){}
}

...或者,根本不。这将导致 Java 隐式创建一个具有 public 访问权限的无参数、空构造函数:

public abstract class Block extends JComponent{
}

关于java - 即使没有参数构造函数,隐式 super 构造函数也是未定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23751093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com