2

次のコードは、次のようなエラーを返します。
"constructor call must be the first statment in a constructor."

理解できません。私のコードのコンストラクターは最初のステートメントです。私は何を間違っていますか?

public class labelsAndIcons extends JFrame
{
    public labelFrame()
    {
        super( "Testing JLabel" );
    }
}
4

4 に答える 4

6

コンストラクター名はクラス名と同じでなければならないため、クラス名を に変更するlabelFrameか、コンストラクター名を に変更しlabelsAndIconsます。

(通常、最初の文字は Java では大文字であることに注意してください) :

public class LabelFrame extends JFrame {
    public LabelFrame() {
        super( "Testing JLabel" );
    }
}
于 2012-07-13T06:17:42.993 に答える
2

ということですか

public class labelsAndIcons extends JFrame {
    public labelsAndIcons ()
    {
        super( "Testing JLabel" );
    }
}
于 2012-07-13T06:18:18.670 に答える
0

コンストラクター名は、クラス名と同じでなければなりません。これを見てみましょう:

constructor call must be the first statement in a constructor  

のコンストラクター ワードはconstructor call、スーパー クラスのコンストラクターを参照します。super();

コンストラクターの単語はin a constructor、次のクラスのコンスカーを指します。public labelsAndIcons()

したがって、コードを次のように絞り込む必要があります。

public class labelsAndIcons extends JFrame
{
  public labelsAndIcons ()
  {
     super( "Testing JLabel" );
  }
}
于 2012-07-13T06:26:04.160 に答える
0

理想的には、コードが次のInvalid Method declartion理由で失敗するはずです。public labelFrame()

  • コンストラクターではありません(コンストラクターはクラス名と同じ名前を持っているため)
  • 適切なメソッド宣言でもありません。

コードを次のように変更します。

public class labelsAndIcons extends JFrame
{
  public labelsAndIcons ()
  {
     super( "Testing JLabel" );
  }
}
于 2012-07-13T06:26:59.200 に答える