java error: constructor call must be the first statement in a constructor

后端 未结 4 1805
忘了有多久
忘了有多久 2021-01-22 17:37

The following code returns me an error saying:
\"constructor call must be the first statment in a constructor.\"

I dont get it. The constructor in my c

相关标签:
4条回答
  • 2021-01-22 18:01

    do you mean

    public class labelsAndIcons extends JFrame {
        public labelsAndIcons ()
        {
            super( "Testing JLabel" );
        }
    }
    
    0 讨论(0)
  • 2021-01-22 18:07

    The constructors name must be the same as the class name. Let's look at this:

    constructor call must be the first statement in a constructor  
    

    The constructor word in constructor call references the super class's constructor which is the super();

    The constructor word in in a constructor refers to your class's consucor that is : public labelsAndIcons()

    so you need to narrow your code to this:

    public class labelsAndIcons extends JFrame
    {
      public labelsAndIcons ()
      {
         super( "Testing JLabel" );
      }
    }
    
    0 讨论(0)
  • 2021-01-22 18:22

    The constructors name must be the same as the class name, so change either change the class name to labelFrame or the constructor name to labelsAndIcons.

    Example (note that usually the first letter is a capital letter in java):

    public class LabelFrame extends JFrame {
        public LabelFrame() {
            super( "Testing JLabel" );
        }
    }
    
    0 讨论(0)
  • 2021-01-22 18:27

    Ideally your code should fail saying Invalid Method declartion because public labelFrame()

    • is neither a constructor (because constructor has the same name as the class name).
    • is neither proper method declaration.

    Whatever change your code like this:

    public class labelsAndIcons extends JFrame
    {
      public labelsAndIcons ()
      {
         super( "Testing JLabel" );
      }
    }
    
    0 讨论(0)
提交回复
热议问题