构造函数调用必须是super()中构造函数中的第一个语句

时间:2015-10-04 12:24:30

标签: java

我正在遵循如何使用Java创建工作界面的指南,并且我已根据指南完成了代码但是我收到错误Constructor call must be the first statement in a constructor,即使它是第一个声明。 我尝试了多种解决方案,所以我很失落,因为它们都不起作用。

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class test extends JFrame {                  
    private JLabel item1;
    private void test () {
        super ("Title 1"); //error happens here     
      }
}

3 个答案:

答案 0 :(得分:5)

您没有创建构造函数 - 构造函数没有返回类型的void。它应该是

private test (){  
    super ("Title 1");  
} 

但实际上您应该坚持Java命名约定并将您的类重命名为Test

答案 1 :(得分:2)

构造函数不应该有返回值

private test () {
    super(); // This should do
}

答案 2 :(得分:2)

您需要从void功能中删除test

您的代码必须如下:

public test (){
    super ("Frame Title");
}