构造函数调用错误信息
Constructor call error message
知道为什么我可能会为此 class 看到以下消息吗?
package org.swx.nursing.tools.sqlfinder.gui;
import javax.swing.JPanel;
import java.awt.event.ActionListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public final class GuiTemplateImpl extends JPanel implements ActionListener {
public void createAndShowGUI(GuiTemplateCriteria guiCriteria) {
super(new BorderLayout());
}
}
留言
Description Resource Path Location Type
Constructor call must be the first statement in a constructor GuiTemplateImpl.java /sqlfinder/src/main/java/org/swx/nursing/tools/sqlfinder/gui line 29 Java Problem
我不确定为什么这行不通。当我删除 super() 时错误消失了,所以这似乎导致了一些问题。
super()
必须存在于 constructor 中,而不是方法。喜欢:
public final class GuiTemplateImpl extends JPanel implements ActionListener {
public GuiTemplateImpl(GuiTemplateCriteria guiCriteria) {
super(new BorderLayout());
}
}
super
允许您调用基本构造函数或基本方法。目前还不清楚你到底想达到什么目的:
- 如果您尝试创建构造函数,则其名称必须与类型名称匹配。这是唯一可以使用
super(...)
调用基本构造函数的地方,并且正如错误消息所说,它必须是第一条语句:
代码:
public GuiTemplateImpl(GuiTemplateCriteria guiCriteria) {
super(new BorderLayout());
}
- 如果您尝试创建将调用基本实现的方法:
代码(根据参数不匹配可能不是您要查找的代码):
public GuiTemplateImpl(GuiTemplateCriteria guiCriteria) {
super.GuiTemplateImpl(new BorderLayout());
}
知道为什么我可能会为此 class 看到以下消息吗?
package org.swx.nursing.tools.sqlfinder.gui;
import javax.swing.JPanel;
import java.awt.event.ActionListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public final class GuiTemplateImpl extends JPanel implements ActionListener {
public void createAndShowGUI(GuiTemplateCriteria guiCriteria) {
super(new BorderLayout());
}
}
留言
Description Resource Path Location Type
Constructor call must be the first statement in a constructor GuiTemplateImpl.java /sqlfinder/src/main/java/org/swx/nursing/tools/sqlfinder/gui line 29 Java Problem
我不确定为什么这行不通。当我删除 super() 时错误消失了,所以这似乎导致了一些问题。
super()
必须存在于 constructor 中,而不是方法。喜欢:
public final class GuiTemplateImpl extends JPanel implements ActionListener {
public GuiTemplateImpl(GuiTemplateCriteria guiCriteria) {
super(new BorderLayout());
}
}
super
允许您调用基本构造函数或基本方法。目前还不清楚你到底想达到什么目的:
- 如果您尝试创建构造函数,则其名称必须与类型名称匹配。这是唯一可以使用
super(...)
调用基本构造函数的地方,并且正如错误消息所说,它必须是第一条语句:
代码:
public GuiTemplateImpl(GuiTemplateCriteria guiCriteria) {
super(new BorderLayout());
}
- 如果您尝试创建将调用基本实现的方法:
代码(根据参数不匹配可能不是您要查找的代码):
public GuiTemplateImpl(GuiTemplateCriteria guiCriteria) {
super.GuiTemplateImpl(new BorderLayout());
}