当前位置: 首页 > 面试题库 >

方法必须在Netbeans中调用super()错误

戚奇略
2023-03-14
问题内容

最近,我做了一个Netbeans项目,并且正在使用SVN。我看到重复的类错误,并且在控制台中显示

java.lang.VerifyError: (class: pie/chart/explorer/PieChartExplorer, method: <init> signature: ()V) Constructor must call super() or this() Could not find the main class: pie.chart.explorer.PieChartExplorer. Program will exit. Exception in thread "main" Java Result: 1

这是PieChartExplorer.java:

package pie.chart.explorer;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class PieChartExplorer extends JFrame implements ActionListener {


    JTextField one = new JTextField(10);
     JTextField two = new JTextField(10);
      JTextField three = new JTextField(10);
    JButton sub = new JButton("Click to be amazed");


    public PieChartExplorer() {
        super("Pie Chart Explorer");
        setSize(300,100);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        FlowLayout flo = new FlowLayout();
        setLayout(flo);
        setVisible(true);
        add(one);
        add(two);
        add(three);
        sub.addActionListener(this);;
        add(sub);

    }

    public static void main(String[] args) {
        PieChartExplorer app = new PieChartExplorer();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        Object source = e.getSource();

        if(source == sub) {
            try {
            Pie show = new Pie(Float.parseFloat(one.getText()),Float.parseFloat(two.getText()),Float.parseFloat(three.getText()));
            } catch(Exception ex) {
                JOptionPane.showMessageDialog(this, "Please check entered data");

            }
        }
    }

}

我努力了:

  1. 清理并重建项目
  2. 确保我在所有构造函数中都调用了super

如何解决?下载代码。


问题答案:

前几天我看到了这些症状。

我有我一直在编辑的文件,因此决定将更改分为2个提交。我进入了包含我的文件“ x / y / Z.java”的目录,在“ x / y”中创建了一个名为“
backup”的目录,将“ Z.java”移到了那里,并从版本控制中提取了一个新副本。 请注意,所有这些操作都是在IDE外部完成的。

回到IDE中,我合并了第一次提交的更改,并且在构建时得到了重复的类消息“ Z.java”。

当我将源复制到“备份”时,我在IDE外部进行了该操作,它仍然具有原始包“ xy”,就像我新编辑的“ Z.java”一样。NB无法编译新的“
Z.java”,因为它可以看到已经创建了“ xyZclass”(来自“ x / y / backup / Z.java”)。

有两种方法可以解决此问题:

  1. 将“ x / y / backup / Z.java”重命名为“ x / y / backup / Z.java.backup”。(防止备份副本被编译。)
  2. 将“ x / y / backup / Z.java”中的包从“ xy”更改为“ xybackup”。(使备份创建另一个类文件。)

进行上述任何更改后,执行“清理并构建”。 注意: 仅仅构建并不能解决问题,您需要执行清除操作以删除恶意类文件。

注意: #1是通过从命令行而不是NB中重命名Z.java来完成的。NB不允许您更改文件扩展名。



 类似资料:
  • 我正在尝试使用Python、pygame和OOP从头开始构建一个乒乓球游戏(我知道,这不是使用OOP的最佳语言)。当前具有以下类结构: 游戏对象(对象)| |球(游戏对象)| |桨(游戏对象) 注:球扩展游戏对象 当我试图创建一个球,一个错误显示: 超级(gameDisplay)类型错误:超级()参数1必须是类型,而不是pyplay。表面 有人能帮我吗?

  • 问题内容: 创建自己的Activity子类时,我们将覆盖一些基本的Activity生命周期功能。 我们 必须 在其中哪些方法中称为超级实现, 应该 在哪里以及 只有什么好方法 ? 方法列表不是最终的,请随时添加更多功能,在哪里应该知道该怎么做。 问题答案: 必须: 应该/不应该:( 调用超类方法可能会有所帮助,除非您自己管理活动的状态或故意更改活动的行为-在这种情况下可能是有害的) 实际上,重写任

  • 我试图从WebView中javascript调用的方法调用WebView方法。然后Webview应该返回方法中使用的值。 html事件- 显然,Webview在ui线程中运行,而js不运行,webview的方法必须从同一个线程调用。此方法可用于从非ui线程调用方法: 但我也想返回结果<代码>返回webView。例如,getUrl()。我该怎么做?

  • 问题内容: 方法getText()必须从UI线程调用,请提供帮助。我是android studio的初学者,可以在网上找到这些代码,但无法弄清楚,我真的很感激。 问题答案: 在其UI线程而非后台线程中获取值。

  • 我得到以下错误: 一个月后,我正在检查我的程序,之前相同的代码没有给出错误,我想我没有改变任何可能导致这一点的东西。我试图解决这个问题;所以在第1行的错误中提到:

  • 无法理解为什么会出现此错误。在记事本中工作,通过cmd运行javac(显然更多的是文件)。如果你需要我链接更多,我可以。我的错误发生在“setCruiseShip”中,我试图将电流链接到超类。错误:对super的调用必须是构造函数中的第一条语句。